A modern Android application showcasing products using Clean Architecture principles and the latest Android development tools and libraries.
- 100% Kotlin based + Coroutines + Flow for asynchronous operations
- Jetpack Compose - Modern toolkit for building native Android UI
- Hilt for dependency injection
- JetPack
- Lifecycle - Observe Android lifecycles and handle UI states upon the lifecycle changes
- ViewModel - Manages UI-related data holder and lifecycle aware
- Room - Constructs Database by providing an abstraction layer over SQLite
- App Startup - Provides a straightforward way to initialize components at application startup
- Architecture
- MVI (Model-View-Intent) Architecture
- Clean Architecture approach
- Repository Pattern
- Retrofit2 & OkHttp3 - Construct the REST APIs
- Material Design 3 - Latest Material design components for Android
This app follows Clean Architecture principles and is organized into the following modules:
- Data Layer: Handles data operations using Repository pattern
- Domain Layer: Contains business logic and use cases
- Presentation Layer: Implements MVI pattern with Compose UI
- Display list of products
- Product details view
- Offline support with Room database
- Error handling and loading states
- Clean and Modern UI with Material Design 3