Simple playground for testing various Android stuff(libraries, frameworks, architectures, etc..).
- Entirely written in Kotlin
- Jetpack libraries (View model, Navigation, Lifecycle, etc..)
- Jetpack Compose
- Room
- Standard Square stuff: (Retrofit, OkHttp, Moshi)
- Firebase remote config for feature flags
- Binary preferences as a file cache
- Adapter delegates for RecyclerView
- Glide
- LeakCanary, Flipper, Hyperion debug drawer
- JUnit5 for unit and intergration tests
- Kaspresso for automated tests
- Jacoco for tests coverage
-
To build the project you need to remove
.examplesuffix in theapi-config.properties.exampleandkeystore.properties.examplefiles. -
For building APK you need to specify path to debug and release
.jkskeystores. -
Also you need to supply TMDB API key. Instructions on how to get key is here
-
And the last one is you need to create a Firebase project in order to get
google-services.jsonforgoogle-servicesgradle plugin. After that it should be placed inapp/src/debugfor debug andapp/src/releasefor the release build respectively. For debug buildsgoogle-services.jsonfile package name should contain .debug prefix like this:
android_client_info": {
"package_name": "package.name.debug"
}
This project uses Detekt for static analysis and formatting style can be found in code-style/tmdb_code_style.xml file
Movie details screen
| Regular | Jetpack Compose |
|---|---|