Movies App is an Android application built using Kotlin and Jetpack Compose, following clean architecture principles, modularization, and various modern Android development technologies.
The project is structured using Clean Architecture, separating concerns into layers:
-
Data: Contains the remote and local module data sources, as well as the repository implementations.
-
Domain: Contains the entities and use cases module representing the business logic.
-
Presentation: Consists of the UI and ViewModel module.
- MVVM Architecture: Utilizing the Model-View-ViewModel architecture pattern for a clean separation of concerns.
- Paging: Implementing pagination for efficient data loading.
- Jetpack Compose: UI app development toolkit.
- Retrofit: Networking library for handling API calls.
- Coroutines: Asynchronous programming for managing background tasks.
- Kotlin Flow: Reactive programming for handling streams of data.
- Dependency Injection: Utilizing a dependency injection framework (Hilt) for managing object creation and injection.
- Clone the repository.
- Open the project in Android Studio.
- Obtain an API key from TMDB.
- Insert the API key in the appropriate gradle.properties file.
- Build and run the application on an emulator or physical device.
This project is open source and released under the MIT License.