Skip to content

A Jetpack Compose Starter Project to streamline development with best practices, & modularization. Build faster, code smarter!

License

Notifications You must be signed in to change notification settings

dapoi/Jetpack-Compose-Starter-Template

Repository files navigation

Jetpack Compose Starter Template

A starter template for Android development using Jetpack Compose, following best practices and modularization.

Highlights

  • 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 Structure

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

Prerequisites

  • Android Studio Meerkat or newer
  • JDK 21+
  • Gradle 8.14.2

Use This Template

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.

image

Available Technologies in the Template

  • Hilt (Dependency Injection)
  • Type Safe Jetpack Navigation
  • Coroutine & Flow
  • Retrofit & Gson
  • DataStore
  • Room Database

🧰 Android Module Generator

This project comes with a CLI script to auto-generate new modules in a snap.

⚙️ How To Use

Make the script executable:

chmod +x android-module-generator.sh

Run the generator:

./android-module-generator.sh

🚀 Example

📦 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.

Contribution

Contributions are welcome! Feel free to fork the repository and submit a pull request.

⭐ Support

If you find this project helpful, please consider giving it a star ⭐ on GitHub. Your support is greatly appreciated!

About

A Jetpack Compose Starter Project to streamline development with best practices, & modularization. Build faster, code smarter!

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published