A starter template for Android development using Jetpack Compose, following best practices and modularization.
- Jetpack Compose UI - Fully built using Jetpack Compose for a modern UI experience.
- Modularization - Separation of concerns with a structured module-based architecture.
- Best Practices - Implements MVVM, Clean Architecture, and other industry standards.
project-root/
├── app/ # Main application module
├── core/common/ # Common utilities, components, and helpers
├── core/data/ # Data handling (repository, API, database)
│ ├── api/ # (Recommended) Separate module if you have multiple services
├── core/navigation/ # Navigation handling module
├── feature/home/ # Home feature module
├── feature/info/ # Info feature module
├── build-logic/ # Gradle convention plugins
- Android Studio Meerkat or newer
- JDK 21+
- Gradle 8.14.2
This repository is set up as a template! 🚀 Click the "Use this template" button on GitHub to create your own repository based on this starter template.
- Hilt (Dependency Injection)
- Type Safe Jetpack Navigation
- Coroutine & Flow
- Retrofit & Gson
- DataStore
- Room Database
This project comes with a CLI script to auto-generate new modules in a snap.
Make the script executable:
chmod +x android-module-generator.sh
Run the generator:
./android-module-generator.sh
📦 Base package (example: com.project.app): com.example.app
📁 Parent folder (example: feature): feature
🧩 Module name (example: home): profile
Generates:
feature/
└── profile/
├── build.gradle.kts
└── src/
└── main/
└── java/com/example/app/feature/profile
and automatically updates settings.gradle.kts
.
Contributions are welcome! Feel free to fork the repository and submit a pull request.
If you find this project helpful, please consider giving it a star ⭐ on GitHub. Your support is greatly appreciated!