4mr0m3r0/movies-jetpack-sample
49.3
Weak · 21 September 2026
3.6k
lines of production code
Kotlin
primary language
4
measurements over time
What this system is
This is an Android application project that has been refactored from a modular architecture into a modernized, consolidated structure using Gradle Version Catalogs and Hilt for dependency injection. The system implements a state machine-based architecture for managing UI states, visualized through PlantUML diagrams. It includes core features for displaying and managing favorite movies, supported by comprehensive unit and instrumented tests for the UI components and search functionality.
Features
Added architectural and structural diagrams for the Android Jetpack project
Three new PlantUML diagram files have been added to the project to visualize the system's structure and behavior. A mind map outlines the Android Jetpack components, including Compose, Hilt, and Paging. A sequence diagram illustrates the interaction flow between the Screen, ViewModel, and a State Machine. A class diagram defines the State Machine architecture, detailing the StateContext, State interface, and specific states like PagingPosters and Searching.
diagrams · high confidence
Behavioural changes
Rearranged library structure and updated ProGuard rules
The ui-components module was moved from the data and presentation directories to the new libraries/ui-components location, with corresponding updates to .gitignore and proguard-rules.pro files. The ProGuard configuration now explicitly comments out the SourceFile attribute renaming, which may affect how source file names are handled during minification.
libraries · medium confidence
Removal of modular architecture components
The application's modular architecture has been removed. This includes the deletion of the entire \cache\, \data\, \domain\, \remote\, and \presentation\ modules, along with the \smartphone-ui\ module. This refactoring consolidates the codebase, removing the separation between data, domain, and presentation layers, as well as the associated mappers, repositories, and use cases.
(repo-wide) · high confidence
Test coverage
Added tests for the Favorites feature; Added unit and instrumented tests for the ui-components library.
Dependencies
Gradle wrapper upgraded to 8.0
The Gradle wrapper has been updated from version 4.6 to 8.0, which will require a newer version of the Gradle build system to compile and run the project.
gradle · high confidence
Migrate to Gradle Version Catalogs and modernize build configuration
The project has been refactored to use Gradle Version Catalogs (libs.versions.toml) for centralized dependency management, replacing the previous flat-file approach (dependencies.gradle). This change introduces a new 'ui-components' library module and consolidates the build structure, while removing legacy modules (domain, data, remote, cache, presentation, smartphone-ui) in favor of a modernized app module. The build script also adds support for Kotlin coroutines in Room, integrates Hilt for dependency injection, and includes Detekt for static code analysis.
(dependencies) · high 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 51 → 49 (-2.0)
- Rubric changed (rubric-2026.08.19 → rubric-2026.09.15) — scores are not directly comparable.
Lenses
- Code Health 99 → 99 (+0.1)
- Architecture 100 → 96 (-3.8)
- Maturity 63 → 63 (+0.0)
- Readiness 24 → 24 (+0.0)
- Security 100 → 100 (+0.0)
- Domain Modelling 70 → 60 (-9.9)
Resolved (8)
- Coverage not included — suite not readable by the collector
- Dependency hygiene not measured — dependency manifest found but not parsed for hygiene
- Duplicated block (18 lines × 2) (app/src/main/java/com/tzion/jetpackmovies/uicomponent/card/MovieCard.kt)
- Duplicated block (18 lines × 3) (app/src/main/java/com/tzion/jetpackmovies/presentation/favorites/FavoriteMoviesScreen.kt)
- Duplicated block (20 lines × 2) (app/src/main/java/com/tzion/jetpackmovies/presentation/favorites/composable/FavoriteDisplay.kt)
- No exposed public API
- Test reliability not included
- single-maintainer — knowledge-concentration (bus factor) risk
New (7)
- Dependency hygiene PARTLY measured — Maven/Gradle declarations read, no dependency graph resolved
- Documentation: no installation or build instructions (README.md)
- Documentation: no usage examples (README.md)
- Duplicated block (24 lines × 2) (app/src/main/java/com/tzion/jetpackmovies/uicomponent/card/MovieCard.kt)
- Duplicated block (33 lines × 3) (app/src/main/java/com/tzion/jetpackmovies/presentation/favorites/FavoriteMoviesScreen.kt)
- Duplicated block (36 lines × 2) (app/src/main/java/com/tzion/jetpackmovies/presentation/favorites/composable/FavoriteDisplay.kt)
- TodoComment (app/src/androidTest/java/com/tzion/jetpackmovies/presentation/favorites/composable/FavoriteDisplayTest.kt)
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
Survey your own repository
4mr0m3r0/movies-jetpack-sample 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 11b983e57bc1508a6ec5ca738af70c4f9a8ea9aa — 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.