E-CommerceApp
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.
Introduction
MVVM Architecture
Layers
UI or Presentation Layer
- This layer has all the Android UI components like Activities, Fragments, ViewModels, etc.
Domain Layer
- Contains all the business logic of the app. This layer has no Android components in it.
Data Layer
- All components related to data such as database, networking, api, shared preferences. It is an Android specific layer.
Packages
Presentation Package
- Considered as entery point for the app
- Contains (Activity) that hosts presentation view
- Single Activity App
Domain Package
- Contains business model
- Contains business USECASES
- Repository interface
Data Package
- Repository Implementation
- Executor API data
- Mapper data model to domain model
- Contains data service, third party data service
Presentation Package
- View (Fragment/Layout) Adapt data to view
- Follows MVVM Architecture
- Handling Bussiness Logic from view model by databinding