A Clean Architecture App that uses clean Architecture (app, presentation, domain, data) packages to use coffee items API using MVVM Architecture, Coroutines, Retrofit2, Pagination, Live Data, Data Binding, Hilt , SOLID Principles , Navigation Component , RoomDb.
UI or Presentation Layer
- This layer has all the Android UI components like Activities, Fragments, ViewModels, etc.
- Contains all the business logic of the app. This layer has no Android components in it.
- All components related to data such as database, networking, api, shared preferences. It is an Android specific layer.
- Considered as entery point for the app
- Contains (Activity) that hosts presentation view
- Single Activity App
- Contains business model
- Contains business USECASES
- Repository interface
- Repository Implementation
- Executor API data
- Mapper data model to domain model
- Contains data service, third party data service
- View (Fragment/Layout) Adapt data to view
- Follows MVVM Architecture
- Handling Bussiness Logic from view model by databinding