Home

Awesome

MVVM Clean Architecture with RxJava3+Coroutines Flow, Static Code Analysis, Dagger Hilt, Dynamic Features

ktlint Kotlin Version API

About

Sample project that build with MVVM clean architure and various cool techs including RxJava3 and Coroutines Flow, Dynamic Feature modules as base of BottomNavigationView or ViewPager2, with both OfflineFirst and OfflineLast approaches as database Single Source of Truth and TDD.

Unit tests are written with JUnit4, JUnit5, MockK, Truth, MockWebServer.

FlowRxJava3Pagination
<img src="./screenshots/property_flow.png"/><img src="./screenshots/property_rxjava3.png"/><img src="./screenshots/property_pagination.png"/>

Overview

<img src="/./screenshots/property.gif" align="right" width="32%"/>

Built With 🛠

Some of the popular libraries and MVVM clean architecture used with offline-first and offline-last with Room database and Retrofit as data source

Modularaization, Library and Feature Modules

Uses both library modules and dynamic feature modules

Architecture

<img src="./docs/android-final-architecture.png"/>

Uses concepts of clean architecture