Android application that displays news and its sources.
The implementation follows app architecture principles, such as modularization, dependency injection, single source of truth, etc.
android_native_16_jan_24.mp4
Data is fetched from the News API, stored locally, and observed by UI.
Create an API Key and place it at local.properties
:
newsApiKey=YOUR_API_KEY
- UI: Jetpack Compose + Material + Coil
- Dependency injection: Hilt
- Network: Retrofit + Chucker
- Local storage: Room
- Build system: Gradle Version Catalog + Convention plugins
- GraphQL: Apollo
- Instrumental tests runs with Robolectric
- Code coverage is generated with Kover
- To generate coverage report, run
./gradlew koverHtmlReportDebug