Skip to main content

Compose Project Template

A production-ready Android project template featuring Jetpack Compose, clean architecture, and modern development practices to accelerate your app development.

Jetpack Compose UI
Clean Architecture
Hilt DI
Room + Retrofit

Everything you need to build modern Android apps

This template provides a solid foundation with best practices, modern architecture patterns, and essential tooling pre-configured.

Clean architecture

Multi-module structure with clear separation of concerns across presentation, domain, and data layers

Modern UI

Jetpack Compose with Material3, type-safe navigation, and reusable UI components

Dependency injection

Hilt integration for dependency management with proper scoping and lifecycle handling

Data persistence

Room database for local storage with repository pattern and coroutines support

Networking

Retrofit integration with proper error handling and Flow-based async operations

Code quality

KtLint pre-configured for consistent code formatting and automated checks

Quick start

Get up and running in minutes with this template

1

Clone the repository

Clone this template repository to start your new project:
git clone https://github.com/Vasylenko-S-A/Compose-Project-Template.git
cd Compose-Project-Template
2

Configure your project

Update the project configuration in buildSrc/src/main/java/es/mobiledev/buildsrc/AppConfig.kt:
object AppConfig {
    const val applicationId = "com.yourcompany.yourapp"
    const val namespace = "com.yourcompany.yourapp"
    const val applicationName = "YourApp"
    const val versionCode = 1
    const val versionName = "1.0.0"
}
3

Build and run

Open the project in Android Studio and sync Gradle. Then build and run on your device or emulator:
./gradlew build
./gradlew installDebug
The template includes a sample news article app to demonstrate the architecture and features. You can remove or modify these sample features as needed.

Key features

Built with modern Android development best practices

Type-safe navigation

Navigation Compose with Kotlin serialization for compile-time route safety

Coroutines & Flow

Async operations with coroutines and reactive data streams with Flow

Multi-module structure

Organized into feature, domain, data, and common modules for scalability

Testing ready

Pre-configured with JUnit, Espresso, and Compose testing dependencies

Ready to start building?

Explore the documentation to learn about the architecture, features, and development workflow.