mtjin/mtjin-android-clean-architecture-movieapp
46.8
Weak · 21 September 2026
1.1k
lines of production code
Kotlin
primary language
4
measurements over time
What this system is
This system is an Android application project structured around clean architecture principles, separating concerns into data, domain, and presentation layers. It implements a movie search feature that manages remote and local data sources using Retrofit and Room, orchestrated by domain use cases. The presentation layer utilizes the MVVM pattern with Hilt for dependency injection and RxJava for asynchronous operations, providing a complete mobile client for searching and displaying movie data.
Features
Implemented clean architecture data and domain layers for movie search
Added the data and domain layers of a clean architecture implementation for a movie search feature. The data layer introduces a Retrofit-based API client, a Room database for local caching, and repository implementations that combine remote and local data sources using RxJava. The domain layer defines the corresponding repository interfaces, a domain model for movies, and use cases (GetMovies, GetLocalMovies, GetPagingMovies, etc.) that orchestrate the data layer. Hilt dependency injection modules are provided in both layers to wire the components together.
AndroidArchitectureStudy/data · high confidence
Initial Android architecture study project setup
The AndroidArchitectureStudy project has been initialized with a multi-module structure, including 'data', 'domain', and 'presentation' modules, alongside standard Android build configuration files such as Gradle wrapper scripts, code style settings, and repository configurations.
AndroidArchitectureStudy · high confidence
Introduce clean architecture presentation layer with MVVM, Hilt, and RxJava
The presentation module now implements a clean architecture using the MVVM pattern, integrating Hilt for dependency injection and RxJava for asynchronous operations. This includes new base classes (BaseActivity, BaseViewModel) that manage data binding and lifecycle-aware state, along with specific UI components like LoginActivity, MovieSearchActivity, and their corresponding ViewModels. The update also adds essential infrastructure such as a NetworkManager for connectivity checks, a custom EndlessRecyclerViewScrollListener for infinite scrolling, and AndroidManifest.xml defining the app's entry points and permissions.
AndroidArchitectureStudy/presentation · medium confidence
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
How this codebase got here
Score
- CAI 53 → 47 (-5.9)
- Rubric changed (rubric-2026.08.19 → rubric-2026.09.15) — scores are not directly comparable.
Lenses
- Code Health 100 → 100 (+0.0)
- Architecture 100 → 78 (-21.7)
- Maturity 52 → 52 (+0.0)
- Readiness 24 → 24 (+0.0)
- Security 100 → 100 (+0.0)
- Domain Modelling 100 → 70 (-30.3)
Resolved (7)
- Coverage not included — suite not readable by the collector
- Dependency hygiene not measured — dependency manifest found but not parsed for hygiene
- No exposed public API
- Test reliability not included
- The roadmap lists branches ('clean-mvvm-rxjava-koin', 'clean-mvvm-multi-module') but no documentation for any of them. (README.md)
- early-stage repository — too little history to judge knowledge freshness
- single-maintainer — knowledge-concentration (bus factor) risk
New (6)
- Dependency hygiene PARTLY measured — Maven/Gradle declarations read, no dependency graph resolved
- Documentation: no contributor guidance (README.md)
- Documentation: no installation or build instructions (README.md)
- Documentation: no licence statement (README.md)
- Documentation: no usage examples (README.md)
- No ADRs found
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
Survey your own repository
mtjin/mtjin-android-clean-architecture-movieapp was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.
About this page
- The score is its most recent published measurement, taken on 21 September 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
- Measured at commit edc3e6aad017063bf00ef17126eb9aae7100bdb8 — the exact code this score is about.
- Scored under rubric-2026.09.15 — the same rubric and the same method as every other entry in this index.
- Measured by watchdog.canine.dev using codehealth-analyzer preprod-fa71c66cabd8.