Clean Architecture with MVVM + Repository design pattern. It uses Room Database as source of truth and populates it from the network using coingecko API
- Room Database
- Dependency injection with Hilt
- Jetpack ViewModel
- UI using Jetpack Compose and Material3
- Jetpack Navigation
- Jetpack Pagination
- Reactive data layer
- Kotlin Coroutines and Flow
- Unit tests
- UI tests using fake data