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
.example
suffix in theapi-config.properties.example
andkeystore.properties.example
files. -
For building APK you need to specify path to debug and release
.jks
keystores. -
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.json
forgoogle-services
gradle plugin. After that it should be placed inapp/src/debug
for debug andapp/src/release
for the release build respectively. For debug buildsgoogle-services.json
file 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 |
---|---|