Skip to main content

Real Clean Architecture in Android

Master Clean Architecture implementation with SOLID principles in Android. Build scalable, testable, and maintainable applications with minimal dependencies.

Quick start

Get up and running with Clean Architecture in just a few steps

1

Clone the repository

Start by cloning the sample project to explore the architecture firsthand.
git clone https://github.com/DenisBronx/Real-Clean-Architecture-In-Android---Sample.git
cd Real-Clean-Architecture-In-Android---Sample
2

Open in Android Studio

Open the project in Android Studio. The project uses Gradle for build management and Kotlin Multiplatform for component modules.
The project requires Android Studio Hedgehog or later with Kotlin 1.9+
3

Explore the architecture

Navigate through the modular structure to understand how Clean Architecture is implemented:
  • Component modules contain domain and data layers
  • UI modules handle the presentation layer
  • Library modules provide reusable utilities
  • App module orchestrates everything together
Learn more about modularization
4

Run the app

Build and run the application to see Clean Architecture in action.
./gradlew assembleDebug

Explore by topic

Deep dive into different aspects of Clean Architecture

Clean Architecture

Learn how layers are organized with clear separation of concerns

SOLID Principles

Understand how SOLID principles are applied throughout the codebase

Modularization

Discover the Package by Component modularization strategy

Component Modules

Explore domain and data layers in feature-driven modules

UI Modules

See how presentation layers are implemented with Jetpack Compose

Testing Strategy

Learn comprehensive testing approaches for each layer

Key features

What makes this Clean Architecture implementation stand out

🏗️

Framework-Independent Domain

Domain layer has zero Android dependencies, making it portable and fast to compile

🎯

SOLID Principles

Every class and module demonstrates real-world SOLID principle application

📦

Package by Component

Feature-driven modules with clear boundaries and minimal dependencies

Testability First

Comprehensive unit tests with utilities for testing coroutines and flows

🔌

Minimal Dependencies

Focus on architecture principles over framework magic and library bloat

🚀

Kotlin Multiplatform

Component modules use KMP for maximum reusability and portability

Ready to master Clean Architecture?

Start exploring the codebase and learn how to build maintainable Android applications with proper architecture patterns.

Get Started Now

Build docs developers (and LLMs) love