An Android Application for an E-Commerce App in Garissa.
This app has a MultiModule, Model View Intent(MVI) architecture in place to allow the App to Scale, improve Quality and Robustness and Allow the App to Scale. Better separation of concern that leads to easier maintainability.
This App uses Clean Architecture to ensure:
- State management using immutability to have a single source of truth.
- Unidirectional data flow
- reproducible state -> simple code reuse
- Make Code easier to read
- better separation of concern -> maintainability
- Retrofit - Android Network Client, Used to consume API from Fakestore Api
- AirBnB Epoxy - Epoxy is an Android library for building complex screens in a RecyclerView. Models are automatically generated from custom views or databinding layouts via annotation processing. These models are then used in an EpoxyController to declare what items to show in the RecyclerView.
- Coroutines - Used to execute code asynchronously
- Material Design + XML - Used to write the UI of the App
- Material Design - Give the App a theme and generally improve UI of the App
- Coil Image - Image Loading library
- Lifecycle library - Majorly to define the ViewModels of the app
- Navigation - To navigate to different screens of the App
I am following this projects implementation from the Android Factory Youtube channel.