Skip to content
CAI
Software that uses CAICheck a score

mikaelvesavuori/get-a-room-ddd-example

53.3

Adequate · 21 September 2026

5.1k

lines of production code

TypeScript

with JavaScript

4

measurements over time

CAI band scale
CAI trend line
CAI lens gauges

What this system is

Architecture

Simplifies error class locations in the Reservation module

All error classes have been moved from the \src/application/errors\ directory to the new \src/errors\ root directory. This change updates all internal imports across the application, domain, and infrastructure layers to reflect the new paths, streamlining the project's directory structure.

code/Reservation/Reservation · high confidence

Behavioural changes

Centralized error class locations across modules

Error classes in the Analytics, Reservation, and Security modules have been moved from the \application/errors\ directory to the top-level \errors\ directory within each module. This refactoring simplifies import paths for all components that rely on these error types, making the project structure more consistent and easier to navigate.

code/Analytics/Analytics, code/Reservation/Display, code/Security/VerificationCode · high confidence

Migrate build tooling and update runtime across services

The build system for the Analytics, Reservation, and Security services has been migrated from webpack to esbuild, replacing the previous \serverless-webpack\ plugin with \serverless-esbuild\ and removing the corresponding \webpack.config.js\ files. Additionally, the AWS Lambda runtime has been upgraded from Node.js 16 to Node.js 20, and the architecture has been set to \arm64\. The \serverless.yml\ configuration for these services has also been updated to use \service\ instead of \Usage\ for stack tags.

code · high confidence

Updated Get-A-Room context map diagrams

The 'Get-A-Room Context Map' diagrams in the diagrams folder have been updated with new content. Additionally, backup copies of these diagrams were added to the repository.

diagrams · medium confidence

Dependencies

Update dev dependencies and replace webpack with esbuild

This change updates multiple dev dependencies across the project, including @ava/typescript (3→4), @types/node (17→20), @types/uuid (8→9), @typescript-eslint packages (5→7), ava (4→6), c8 (7→9), eslint-config-prettier (8→9), eslint-plugin-prettier (4→5), prettier (2→3), and serverless-offline (8→13). Additionally, the build tooling is switched from webpack to esbuild (serverless-esbuild added), and the dependency graph visualization tool is swapped from madge to dependency-cruiser (version 16).

(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 52 → 53 (+0.9)
  • Rubric changed (rubric-2026.08.18 → rubric-2026.09.15) — scores are not directly comparable.

Lenses

  • Code Health 91 → 83 (-7.4)
  • Architecture 96 → 85 (-11.4)
  • Maturity 65 → 70 (+4.9)
  • Readiness 20 → 26 (+5.6)
  • Security 100 → 100 (+0.0)

Resolved (10)

  • Coverage not included — suite not readable by the collector
  • Dependency hygiene not measured — dependency manifest found but not parsed for hygiene
  • LLM evaluation failed
  • No exposed public API
  • Scanner failed to run — not a clean result
  • 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 (9)

  • Dependency hygiene PARTLY measured — npm pinning read, dependency currency not (no committed lockfile, so no resolved version to grade)
  • Documentation: no installation or build instructions (README.md)
  • Documentation: no usage examples (README.md)
  • No ADRs found
  • Scanner failed to run — not a clean result
  • Scanner failed to run — not a clean result
  • TodoComment (code/Reservation/Reservation/tests/integration/index.ts)
  • getDTO.getDTO (cognitive 16) (code/Reservation/Display/src/infrastructure/utils/getDTO.ts)
  • getDTO.getDTO (cyclomatic 16) (code/Reservation/Display/src/infrastructure/utils/getDTO.ts)

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

Survey your own repository

mikaelvesavuori/get-a-room-ddd-example 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 61a93eaeb077b5644de0d7ede0b022c4459e2b5f — 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-28e75b8e3254.