It is an app that recommends a movie for the user based on a series of queries presented to said user.
It also includes other features:
- Display popular and top rated movies
- Connect to your TMDB account and manage your lists
- Search for movies
- Display details for movies
- Add movies to your watchlist and favorites list
This app is written in Kotlin, with the MVVM architecture
- Room persistence library for persisting and caching data
- Kotlin Flow for emitting data
- LiveData and ViewModels
- Fragments and Navigation Components
- Paging3 library and RemoteMediator
- WorkManager for scheduling work
- NotificationManager with BroadcastReceivers
- Repository pattern
- NetworkBoundResource
- Retrofit2: https://github.com/square/retrofit
- Moshi: https://github.com/square/moshi
- Dagger Hilt: https://dagger.dev/hilt/
- Glide: https://dagger.dev/hilt/
- Timber: https://github.com/JakeWharton/timber
- Google Truth: https://github.com/google/truth
API used is TMDB API https://api.themoviedb.org/3