Movies App
A movie app demonstrating android development best practices using popular android libraries. Note that the changes may not be backward compatible. You will need to uninstall and re-install the app if that happens.
Setup
This app uses TMDB database to fetch movies details.
Getting TMDB API Key
To use the TMDB API, you will need to setup a free TMDB account and generate V3 API key. See TMDB Documentation for instructions.
Once you obtain the key, add it inside gradle.properties -> TMDB_API_KEY=<your-tmdb-key>
Development Instructions
Application is currently developed and tested on : Android Studio Arctic Fox | 2020.3.1
If you use a lower version the app might not compile. For newer versions you will need to update the android-gradle-plugin version accordingly.
Setting up Spotless pre-commit hook
Spotless is used to format code. To setup the spotless pre-commit hook, execute ./spotless/creat-spotless-pre-commit-hook.sh
Libraries Used
Some of the main libraries used in the app are -
- Compose for UI.
- Navigation for all the in-app navigation.
- Paging-3 for pagination support.
- Hilt for dependency injection.
- Room
- Coroutines for async operations.
- OkHttp && Retrofit for networking.
- Coil for image loading.
- Mockk for mocking.
- Robolectric for unit testing of android components.
- Truth for readable assertions.