Skip to content
CAI
Software that uses CAICheck a score

rafi4204/android-compose-template

45.8

Weak · 21 September 2026

3.1k

lines of production code

Kotlin

primary language

4

measurements over time

CAI band scale
CAI trend line
CAI lens gauges

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.