In My Movies app, you can explore top rated and popular movies. It is an Android client implementation of TMDB API using MVVM and clean architecture.
- Explore top rated and popular movies.
- Single Activity Architecture and uses Jetpack navigation to navigate through destination (fragments).
- Retrofit to do api calls and gson to parse response.
- Paging3 to load only required Movies.
- Hilt for dependency injection.
![]() |
![]() |
- Show a progress bar when api is being called.
- Show a Error message and give the user a button to retry.
- Also do the above in pagination (showing error and loading at bottom).
- Implement deeplink and share deeplink of the detail screen when user click on share button.
This app follows MVVM architecture with Clean architecture, Uni Directional Flow (UDF) pattern and Single Activity architecture pattern.
:data:
- The data origin point.:di:
- Hilt modules.:domain:
- Central nervous system of the app containing the contract between UI and Data layer.:ui:
- All the Screens UI lies here in subpackages.
Kotlin: As the programming language.
Jetpack Navigation : To navigate between destinations(fragments).
Hilt : As a dependency injector.
Paging3: For infinite scrolling.
Retrofit: As Api Client.
Coroutines: For Asynchronous programming.
Simple clone this app and open in Android Studio.