Skip to content
CAI
Software that uses CAICheck a score

dantech0xff/android-base-mvvm

50.6

Adequate · 21 September 2026

2.3k

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 for managing notes, featuring a refactored architecture that separates business logic into a Use Case layer. The system handles note operations such as fetching, inserting, updating, and deleting notes, with state management handled via LiveData and UI interactions managed through Data Binding. The project also includes standard build tooling and dependencies for Android development.

Behavioural changes

Refactor note management with a Use Case layer and data binding

The app now uses a Use Case layer to separate repository logic from ViewModels, introducing base classes for handling RxJava schedulers. Specific use cases for notes (FetchAll, GetTODO, Insert, Update, Delete) are implemented and wired into the ViewModel and Fragment modules. Additionally, the UI layouts for the notes list and note editor have been converted to use Data Binding, allowing click events to be bound directly in XML rather than in the Fragment classes.

app/src · high confidence

Refactored ViewModels to use UseCase layer and LiveData

The NoteFragmentViewModel and UpdateNoteFragmentViewModel have been refactored to depend on specific UseCase classes (e.g., FetchAllNotesUseCase, DeleteNoteUseCase) instead of the raw NoteRepo. This separates repository logic from the ViewModel, and LiveData is now used to expose state to the UI, replacing direct repository calls and RxJava subscriptions for data flow.

. · high confidence

Updated Gradle wrapper to version 7.4

The Gradle wrapper has been upgraded from version 7.3.3 to 7.4, ensuring that the project uses the newer Gradle release for builds.

gradle · high confidence

Dependencies

Updated build dependencies and enabled data binding

The project's build configuration has been updated to support new features and improve compatibility. Data binding is now enabled in the app module. Several dependencies have been upgraded: the Android Gradle plugin to 7.3.0, the Navigation component to 2.5.2, the Firebase Bill of Materials to 30.5.0, the Android Billing Client to 5.0.0, and Google Play Services Ads to 21.2.0. Additionally, the MockK testing library has been added as a test dependency.

(dependencies) · 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 51 → 51 (+0.1)
  • Rubric changed (rubric-2026.08.19 → rubric-2026.09.15) — scores are not directly comparable.

Lenses

  • Code Health 99 → 99 (+0.2)
  • Architecture 100 → 96 (-4.4)
  • Maturity 51 → 51 (+0.0)
  • Readiness 24 → 24 (+0.0)
  • Security 95 → 100 (+5.0)

Resolved (11)

  • Coverage not included — suite not readable by the collector
  • Dependency hygiene not measured — dependency manifest found but not parsed for hygiene
  • Duplicated block (11 lines × 3) (app/src/main/java/com/creative/mvvm/ui/view/RatioFrameLayout.kt)
  • No exposed public API
  • Rotate the exposed credentials — git history can't be un-committed
  • Secret: gcp-api-key (app/google-services.json)
  • Test reliability not included
  • early-stage repository — too little history to judge knowledge freshness
  • git history depth insufficient
  • git history depth insufficient
  • 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 (12 lines × 3) (app/src/main/java/com/creative/mvvm/ui/base/BaseActivity.kt)
  • Duplicated block (12 lines × 3) (app/src/main/java/com/creative/mvvm/ui/view/RatioFrameLayout.kt)
  • No ADRs found
  • TodoComment (app/src/main/java/com/creative/mvvm/data/app/AppRepoImpl.kt)

Architecture

  • Containers 0 added · 0 removed · contexts 1 added · 1 removed · edges 0 added · 0 removed

Added bounded contexts (1)

  • app

Removed bounded contexts (1)

  • .

Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.

Survey your own repository

dantech0xff/android-base-mvvm 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 1b7238dfe5aa21f1e61b7f42e1d37f41c2b56802 — 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.