Template for using Clean Architecture Concepts in Android
We have separated the layers into three main group
- Presentation/App – It includes the UI layer and ViewModel.
- Domain – Holds all the UseCase, Entities and the Interface of the Repository. This is will be use as the Business Logic of the App.
- Data – Abstract definition of all the data sources and the data source. Ex. Repository, Local Database and Remote API.
Here is another diagram how the data flow in the app: