This project is a sample Android application to demonstrate a modern, clean architecture approach.
This project follows the principles of Clean Architecture. The codebase is separated into layers to achieve separation of concerns, making it more scalable, maintainable, and testable. The presentation layer uses the Model-View-ViewModel (MVVM) pattern.
The main layers are:
- Presentation (UI): Built with Jetpack Compose. Responsible for displaying the UI and handling user interactions.
ViewModels are used to manage UI state and expose data to the Composables. - Domain: This layer contains the core business logic and use cases.
- Data: Responsible for providing data to the application. It uses the Repository Pattern to abstract data sources (network or local).
- Kotlin: First-party and official programming language for Android development.
- Jetpack Compose: Android’s modern toolkit for building native UI.
- Koin: A pragmatic and lightweight dependency injection framework for Kotlin.
- Retrofit: A type-safe HTTP client for Android and Java.
- Coil: An image loading library for Android backed by Kotlin Coroutines.
- Android Architecture Components:
- Clone the repository.
- Open the project in Android Studio.
- Let Gradle sync the dependencies.
- Build and run the application.