A simple app showcasing a products listing page and a product details page utilising APIs from FakeStoreApi.com. Moreover, project architecture follows MVVM with clean architecture.
- Loads the FakeStoreApi products
- Loads the FakeStoreApi product details
- Light/Dark mode
- Shimmer loading effect
- Graceful error handling
- Dependency Injection
- Kotlin
- Unit Tests
Download the APK file from here on your Android Device to be able to run ECOM-DEMO
- Modern MVVM Android development practices followed
- Repository and Usecase patterns utilized for data
- Unit tests for Viewmodels, Repository, API and Usecases
- Minimum SDK level 21
- Kotlin based, Coroutines + Flow for asynchronous.
- Android Architecture Components - Collection of libraries that help you design robust, testable, and maintainable apps.
- LiveData - Data objects that notify views when the underlying database changes.
- ViewModel - Stores UI-related data that isn't destroyed on UI changes.
- ViewBinding - Generates a binding class for each XML layout file present in that module and allows you to more easily write code that interacts with views.
- Navigation Components - For Navigation between screens with Fragments
- Dependency Injection
- Hilt - Easier way to incorporate Dagger DI into Android apps.
- MockK - For Mocking and Unit Testing
- Coil - For Image loading
- Retrofit2 & OkHttp3 - Construct the REST APIs.
- Material-Components - Material design components
- Facebook-Shimmer-Loading - Shimmer is an Android library that provides an easy way to add a shimmer effect to any view in your Android app.