Multi-module demo app that gets data from a RSS Url's.
- Compose
- Clean Architecture + Modularization + MVI
- Room
- Retrofit
- Kotlin Coroutines
- JetPack (Material 3, ViewModel and etc.)
- Kotlin DSL
- Navigation Component Compose
Module name | Type | Description |
---|---|---|
app | Android Application | MainActivity, BaseApplication, Hilt. |
core | Android Library | Core business models and classes. |
rssData | Android Library | Data-sources (network and cache), repositories and Hilt for the RSS Module. |
rssDomain | Android Library | Use-cases, Domain models and classes for the RSS Module. |
rss-ui-feeds | Android Library | UI components for the RSS Feeds screen. |
rss-ui-stories | Android Library | UI components for the Rss Category Stories screen. |
constants | Java/Kotlin Library | Random constants. |
android-components | Android Library | Common Composables,Theme, and Android Classes. |
There are 3 types of build.gradle files.
- android application (app module)
- android-library-build.gradle
- For Android library modules.
- build.gradle.kts (pure java and kotlin library module)
Data Module ------------> Domain Module <------------- UIModule
UniDirectional Flow