The purpose of this app is to demonstrate how a reactive Clean Architecture with Room, Coroutines, multiple modules and the Android Jetpack ViewModels can be achieved on Android.
The app displays a screen that the user can tap on. Each tap of the user increases the tap count as well the tap level of the user.
The app is structured into four different main parts:
- Features - contains the user facing features of the app.
- Common - contains reusable modules that are used in multiple parts of the app.
- Libs - contains modules with utility classes for libraries like Room or Jetpack Lifecycle.
- App - is the main component. It knows all components and sets up the app. It should be kept as small as possible.