AndroidCleanArchitecture

Template for using Clean Architecture Concepts in Android

clean_architecture_vertical_onion

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:

clean_architecture_vertical-template1