Android eCommerce Demo application buidl using the clean architectured
The following mock server apis are used to demonstrate the eCommerce applicatoin https://app.beeceptor.com/mock-server/fake-store-api
The below are the layer for separation of concerns and demonstration
- Compose - > Material Compose for the later resposive UI patterns with Uni Directiond Flow desing pattern
- ViewModel : with MVI Patterns having the STATE which is the single point of data modiction the Screen state
- Use case layer / Domain : Layer : Layer between Presentation and Data responsible Business logic of the application with the single responsibility of all the use cases well defined.
- Mappers : To map DTO to Domain /UI Models any time the data source is chagens its easy to switch to new data source with out any change to the Presentation layer
- Data Layer : Single source of truth is the repository pattern which connect with different data source (local/remote) and aggregate the response and send to the upper layer.
The Clean architecture provides strong benifits for the large enterprice application like media , OTT, banking and eCommerce etc.
- Scalability : As each layer separated their own concerns and resposibilities its easy bring new feature or new module which can easily scale.
- Testability.: Each layer can be tested indepently , the Data and Domin can be tested on JVM as its completed written in JVM apis which can be tested wiht out running applicaton
- Maintainabilit : Easy to maintain in the large scale appplication .
The following are the tech stack
- Kotlin -
- Android KTX -
- AndroidX -
- Viewmodel -
- Kotlin Coroutines -
- Retrofit
- GSON -
- Hilt -
- Navigation Components
- Logging Interceptor
- Mockito Kotlin
- OkHttp3
- Material Compose ed. Whether you're building a small app or a massive enterprise system, Material Compose has everything you need to take your UI to the next level