This Android application allows users to browse and discover popular movies using data fetched from The Movie Database (TMDb) API. It includes features such as displaying a list of movies, viewing movie details, local data caching, and unit testing.
This app uses data from The Movie Database (TMDb) API. Please refer to the official TMDb documentation for more information.
- Fetches a list of popular movies from the TMDb API using Retrofit.
- Displays the list of movies in a scrolling view.
- Each movie item includes the title, release date, and poster image.
- When a user taps on a movie in the list, it displays more information about the selected movie.
- Shows movie details such as overview, rating, and genres.
- Includes a back button to return to the movie list.
- Implements local data caching using Room to store the fetched movie data in the app's local database.
- The app first attempts to fetch data from the local database before making an API request.
- Includes unit tests for critical parts of the app, such as the domain layer and view model.
- Kotlin is used as the programming language.
- Jetpack Compose for UI development.
- MVVM architecture is implemented for the data flow.
- Retrofit is used to fetch data from the TMDb API following the TMDb API documentation.
- Room is used for local data caching.
- Pagination is implemented for fetching more movies.
- Proper error handling is implemented.
- The code follows clean architecture principles.
- Good code organization, readability, and maintainability are ensured.
- Version control (e.g., Git) is used for tracking changes.
To run the application locally, follow these steps:
- Clone the repository:
git clone git clone https://github.com/alfayedoficial/tmdbmoviestask.git
-
Open the project in Android Studio.
-
Build and run the app on an Android emulator or physical device.
You can download the demo APK for the Movie App from the following link:
This project is licensed under the MIT License.