# Android Clean Architecture

This is a movies sample app in Kotlin, which is part of a serie of blog posts I have written about architecting android application using different approaches.

Repository: https://github.com/android10/Android-CleanArchitecture-Kotlin
Canonical: https://ross.abutalabs.com/products/android-clean-architecture
Homepage: https://fernandocejas.com/2018/05/07/architecting-android-reloaded/
Language: Kotlin
License Family: other
Topics: android, architectural, lessons-learned, android-cleanarchitecture-kotlin, kotlin, kotlin-android, architectural-patterns, functional-programming, android-development, clean-architecture, mobile-development
Last push: 2025-04-16T07:09:50+00:00
Link (homepage): https://fernandocejas.com/2018/05/07/architecting-android-reloaded/
Link (site_page): https://fernandocejas.com/blog/engineering/2015-07-18-architecting-android-the-evolution
Link (site_page): https://fernandocejas.com/blog/engineering/2015-04-11-tasting-dagger-2-on-android
Link (site_page): https://fernandocejas.com/blog/engineering/2020-12-28-install-arch-linux-full-disk-encryption
Link (site_page): https://linux.fernandocejas.com/

## Health v2 (maintenance only)
Score: 39/100 (v2, computed 2026-09-02T17:46:02.011165+00:00)
- activity 16, release rhythm 35, longevity 100
- inputs: {"age_days": 3386, "days_push": 504, "days_rel": null, "gap_med": null, "n_releases_24m": 0}
- flags: no_releases, no_license
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 4811, forks 931 (observed 2026-08-28T04:09:00.272091+00:00)

## What it is
A sample Android application demonstrating Uncle Bob's Clean Architecture approach, accompanied by a series of blog posts by Fernando Cejas. It includes both a Java version and a newer Kotlin version showcasing layered architecture, MVVM/MVP, dependency injection, and modularization.

## Use cases
- learn clean architecture on android
- example of layered android app architecture
- how to structure an android project with use cases and repositories
- mvp to mvvm migration example on android
- dagger 2 dependency injection example for android
- android app modularization example
- kotlin clean architecture sample

## When to choose
- you are learning or teaching clean architecture patterns for Android
- you want a reference implementation of layered Android architecture with use cases and repositories
- you want to see MVVM, RxJava, and Dagger 2 used together in a sample app

## When to avoid
- you need a production-ready framework or library to drop into your app
- you need actively maintained code with up-to-date Android APIs and dependencies
- you want Jetpack Compose or modern Android architecture components guidance

## Facets
- artifact type: learning-resource
- maturity: maintenance
- function: developer-tools, boilerplate
- domain: mobile-development, tutorials, developer-tools
- platform: jvm
- tags: clean-architecture, sample-app, android-architecture, kotlin, java, mvvm, mvp, dependency-injection, dagger-2, blog-series, android, mobile

## Member repositories
- android10/Android-CleanArchitecture-Kotlin (main) score 39
- android10/Android-CleanArchitecture (mirror) score 32

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:09:00.272091+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-29T17:05:40.780546+00:00, confidence not recorded.
  - readme: https://github.com/android10/Android-CleanArchitecture-Kotlin (fetched 2026-08-28T04:09:00.272091+00:00, sha d50610f1b2c4)
  - homepage: https://fernandocejas.com/2018/05/07/architecting-android-reloaded/ (fetched 2026-08-29T08:03:58.241185+00:00, sha 03e1d84b0434)
  - site_page: https://fernandocejas.com/blog/engineering/2020-12-28-install-arch-linux-full-disk-encryption (fetched 2026-08-29T08:03:58.255674+00:00, sha 176d8854b7db)
  - site_page: https://fernandocejas.com/about (fetched 2026-08-29T08:03:58.260184+00:00, sha 4e10cbc440d3)
  - site_page: https://fernandocejas.com/blog/engineering/2015-07-18-architecting-android-the-evolution (fetched 2026-08-29T08:03:58.250765+00:00, sha d31db83b59ae)
  - site_page: https://fernandocejas.com/blog/engineering/2015-04-11-tasting-dagger-2-on-android (fetched 2026-08-29T08:03:58.253277+00:00, sha 47a204ecf33b)
  - site_page: https://linux.fernandocejas.com/ (fetched 2026-08-29T08:03:58.258496+00:00, sha de656192b153)
- Data as of 2026-08-30T08:39:29.467469+00:00.
