rafi4204/android-compose-template
45.8
Weak · 21 September 2026
3.1k
lines of production code
Kotlin
primary language
4
measurements over time
What this system is
This is an Android application template built with Jetpack Compose, designed to demonstrate modern Android development practices. It features a refactored architecture that manages user authentication, resource listing, and detailed views. The system implements offline data persistence and pagination using Room and Paging3, while also handling structured network error states. The codebase has been modernized with updated dependencies and a rebranded package structure.
Features
Introduce offline pagination and structured error handling
The app now supports offline data persistence and pagination via a new Room database (AppDatabase) with RemoteKeys and Resource entities, integrated with a Paging3 RemoteMediator to cache paginated API responses. Additionally, a structured error handling system has been added, featuring an ExceptionModel hierarchy for HTTP, connection, and data exceptions, along with mapping utilities to convert network responses and throwables into specific error states.
app/src · high confidence
Removals
Removed legacy RecyclerView-based resource list implementation
The \ResourceFragment\, \ResourceViewModel\, and \ResourceAdapter\ classes have been deleted from the app. This removes the previous implementation of the resource list that relied on a standard \RecyclerView\ with a custom \ResourceAdapter\ to display data. Users will no longer see this specific UI component, which has been replaced by a newer implementation (likely using Paging 3 as suggested by the commit messages, though the diff only shows the removal).
app/src/main/java/com/monstarlab/features/resources · high confidence
Behavioural changes
Project template renamed and license added
The project template has been renamed from 'android-compose-template' to 'android-composetemplate' (and 'Monstarlab' to 'ComposeTemplate' in the generation script), and an MIT license file (LICENSE.md) was added to the repository.
(repo-wide) · high confidence
Rebrand application package from com.monstarlab to com.composetemplate
The application's Java/Kotlin package namespace has been changed from com.monstarlab to com.composetemplate. This affects all related classes, including the main activity, login and blog use cases, and core architecture extensions, ensuring internal imports and package declarations align with the new namespace.
(repo-wide) · high confidence
Refactor login and resource features to new package structure
The application's package structure has been updated from com.monstarlab to com.composetemplate. This includes the login feature, which now uses a LoginUiInfo data class to manage user input state, and the resources feature, which introduces new screens and view models for displaying resource details and lists.
app/src/main/java/com/composetemplate/core/usecases/resourceDetails, app/src/main/java/com/composetemplate/features/login, app/src/main/java/com/composetemplate/features/resources · high confidence
Removal of legacy app update and messaging dialogs
The legacy implementation for handling app updates, changelogs, and in-app messages has been removed. This eliminates the previous behavior where the app would display dialogs for updates, force-require updates, or show messages and rate reminders upon launch.
app/src/main/java/com/monstarlab/features/main · high confidence
Upgraded Gradle wrapper to version 8.9
The Gradle wrapper has been updated from version 7.3.3 to 8.9. This upgrade ensures the project uses a more recent version of the Gradle build tool, which may include new features, performance improvements, and bug fixes.
gradle · high confidence
Dependencies
Upgrade Android build configuration and dependencies
The project has been upgraded to compile against Android SDK 34 and Java 17, with the Gradle build tool updated to 8.6.1. Dependencies have been significantly modernized: Compose is updated to 1.6.2 with the new compiler 1.5.15, and Material 3 is brought to 1.3.1. Additional libraries have been added or updated, including Hilt 2.49, Room 2.6.1, Paging 3.3.0-alpha02, and Accompanist 0.32.0, while older dependencies like RxJava2 and legacy AndroidX components have been removed.
(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 49 → 46 (-2.8)
- Rubric changed (rubric-2026.08.19 → rubric-2026.09.15) — scores are not directly comparable.
Lenses
- Code Health 100 → 99 (-0.5)
- Architecture 100 → 76 (-24.0)
- Maturity 67 → 67 (+0.0)
- Readiness 24 → 24 (+0.0)
- Security 95 → 95 (+0.0)
- Domain Modelling 55 → 51 (-4.4)
Resolved (7)
- Coverage not included — suite not readable by the collector
- Dependency hygiene not measured — dependency manifest found but not parsed for hygiene
- Duplicated block (10 lines × 2) (app/src/main/java/com/composetemplate/arch/extensions/UseCaseResult.kt)
- No exposed public API
- Test reliability not included
- early-stage repository — too little history to judge knowledge freshness
- single-maintainer — knowledge-concentration (bus factor) risk
New (8)
- 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 usage examples (README.md)
- Duplicated block (10 lines × 2) (app/src/main/java/com/composetemplate/arch/extensions/UseCaseResult.kt)
- TodoComment (app/src/main/java/com/composetemplate/core/data/storage/PreferenceDataStore.kt)
- TodoComment (app/src/main/java/com/composetemplate/features/login/LoginScreen.kt)
- TodoComment (app/src/main/java/com/composetemplate/features/main/MainActivity.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
rafi4204/android-compose-template 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 7b0970cc8eb50701934895c7f1b940971758b5c0 — 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.