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:



View Github