This is an example of usage multi-modules MVVM Pattern on Android with Navigation Component and Clean Architecture
-
ViewPager2 (https://developer.android.com/jetpack/androidx/releases/viewpager2)
-
SaveStateHandler for ViewModel (https://developer.android.com/topic/libraries/architecture/viewmodel-savedstate)
-
Mike Penz Fast Adapter (https://github.com/mikepenz/FastAdapter)
-
Retrofit2 with coroutines v.2.7.+ (https://square.github.io/retrofit/)
-
Image loading with Coil (https://github.com/coil-kt/coil)
-
SharedPreference with Kotpref (https://github.com/chibatching/Kotpref)
-
DI with KOIN (https://github.com/InsertKoinIO/koin)
-
Clean Architecture
-
Multi-modules project
-
Kotlin Gradle DSL
-
Material Design
-
Kotlin 1.3.+ with coroutines
-
Kotlin Flow
-
JetPack:
- ViewModel (https://developer.android.com/topic/libraries/architecture/viewmodel)
- LiveData (https://developer.android.com/topic/libraries/architecture/livedata)
- Navigation Component (https://developer.android.com/guide/navigation)
- Paging (https://developer.android.com/topic/libraries/architecture/paging)
- Room DB with Coroutines (https://developer.android.com/training/data-storage/room)
- Data Binding (https://developer.android.com/topic/libraries/data-binding)