- Language: Kotlin.
- Architecture: MVVM with Clean Architecture.
- Dependency Injection: Hilt.
- Asynchronous Programming: Kotlin Coroutines.
- Jetpack Compose: Used for building UI components declarative.
- Jetpack Components:
- ViewModel
- LiveData
- Room
- Navigation
- Networking: Retrofit2 & OkHttp3:.
- Image loading: Coil.
- Parsing: Gson.
- Testing Framework:
- MocckK
- Espresso
- Google Truth
The project follows the MVVM (Model-View-ViewModel) architecture pattern to separate concerns and improve testability and maintainability.
app/
├── data/ # Data Layer
│ ├── datasource/
│ ├── remote/
│ │ ├── model/
├── di/ # Dependency Injection
│ ├──
├── domain/ # Domain Layer
│ ├── models/
│ ├── repository/
│ └── usecase/
├── ui/ # UI Layer
│ ├── common/
│ │ ├── components/
│ │ ├── theme/
│ └── features/ # Features organized by screens
│ ├── home/
│ └── nav/
│ └── viewmodel/
└── utils/ # App utilities
- Minimum SDK: 24
- Target SDK: 35
- Device Types Supported: Mobile
- Orientations Supported: Portrait
- Android Studio Giraffe (or latest)
- Java 11+ installed
- Gradle 8+
- Kotlin 1.7++
git clone https://github.com/samadtalukder/Android-Clean-Architecture-MVVM-With-Compose- Open in Android Studio
- Run Sync Gradle
- Run the app on an emulator or physical device 🚀
- Fork the repository
- Create a feature branch
git checkout -b branchName
- Commit your changes
- Push to the branch
git push origin branchName
- Open a Pull Request
- Follow Kotlin Coding Conventions
- Write clear, documented code
- Maintain 80% test coverage
- Use meaningful variable and function names
