App is structured with 2 screens, Home Screen with Random Quote and List Screen with Quotes.
Offline support with data from https://rapidapi.com/saicoder/api/famous-quotes4/
Make your API key and add in your local.properties
,
API_KEY=yourapikey
HOST_KEY=famous-quotes4.p.rapidapi.com
- Gradle build with Kotlin Script and Gradle Version Catalog
- Seperate Build module with custom Gradle plugin in
build-logic
module - Reactive programming with Kotlin coroutines
- Stream with Kotlin Flow
- Networking with Retrofit and OkHttp
- Json parsing with Kotlinx Serialization
- Persistence data and caching with Room
- UI with Jetpack Compose and Material3
- Dependency Injection framework with Hilt
- UI transation with Compose navigation
- ksp
- Code formatting optimization with Ktlint
- Code smell optimization with Detekt
- Github Action (Android CI)
- MVVM