Skip to content
CAI
Software that uses CAICheck a score

javatarz/serverless-cqrs

43.4

Weak · 21 September 2026

482

lines of production code

JavaScript

primary language

4

measurements over time

CAI band scale
CAI trend line
CAI lens gauges

What this system is

This system is a serverless microservices application built on AWS using a CQRS architecture, consisting of distinct services for customers, menu, and orders. It manages domain events via Amazon SNS to synchronize state across separate DynamoDB tables, ensuring eventual consistency between command handlers and read models. The services expose HTTP endpoints for core operations like signing up users, managing menu items, and handling orders, with local development supported by the Serverless framework.

Features

Initial Orders service with CQRS and event-driven persistence

The orders service is introduced as a new component implementing a Command Query Responsibility Segregation (CQRS) architecture. It exposes HTTP endpoints to open new orders (command) and retrieve order lists or individual orders (queries), persisting data in Amazon DynamoDB. The service also includes event listeners that react to domain events—such as \orderOpened\, \menuItemAdded\, and \customerSignedUp\—published via Amazon SNS to synchronize related data across the system.

orders · high confidence

Initial customers domain service with CQRS and event persistence

This change introduces the initial implementation of the customers domain service, establishing a Command Query Responsibility Segregation (CQRS) architecture. It exposes HTTP endpoints for signing up customers and retrieving customer data, backed by AWS DynamoDB tables for both the customer store and an event log. The service publishes domain events (such as 'customerSignedUp') to an SNS topic, which triggers listener functions to persist these events and update the customer read-model, ensuring eventual consistency across the system.

customers · high confidence

Initial menu service implementation with CQRS and event persistence

This change introduces the core menu service, providing HTTP endpoints to add menu items (via a command) and retrieve them (via queries). It implements a CQRS pattern where adding an item triggers a 'menuItemAdded' event published to an SNS topic, which is then consumed by listeners to persist both the event and the resulting menu item data into separate DynamoDB tables. The service includes validation to ensure menu items have a description and price, and supports local development via Serverless Offline with DynamoDB and SNS emulation.

menu · high confidence

Initial project setup with Serverless CQRS architecture and local development tooling

This change introduces the foundational structure for a Serverless CQRS application on AWS, including configuration for the Serverless framework, AWS CLI, and Node.js via a Brewfile. It establishes coding standards through an EditorConfig file and updates the .gitignore to exclude build artifacts and serverless-specific directories. The README is expanded to provide comprehensive instructions for building, deploying, and running the services (menu, customers, orders) locally using the Serverless offline plugin, along with guidance for accessing the DynamoDB console.

(repo-wide) · high confidence

Dependencies

Initial dependency manifests for serverless services

Added package.json files for the customers, menu, and orders services, establishing their initial dependency sets. These manifests define runtime dependencies including aws-sdk, express, and serverless-http, along with development tools such as mocha, chai, and serverless-offline for local testing.

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

Lenses

  • Code Health 54 → 54 (+0.1)
  • Architecture 69 → 69 (+0.0)
  • Maturity 53 → 51 (-2.5)
  • Readiness 24 → 27 (+2.8)
  • Security 100 → 100 (+0.0)

Resolved (9)

  • Coverage not included — suite not readable by the collector
  • Dependency hygiene not measured — dependency manifest found but not parsed for hygiene
  • No exposed public API
  • Scanner failed to run — not a clean result
  • Test reliability not included
  • early-stage repository — too few commits for a meaningful bus factor
  • early-stage repository — too little history to judge knowledge freshness
  • git history depth insufficient
  • git history depth insufficient

New (7)

  • Coverage not measured — JavaScript/TypeScript suite
  • Dependency hygiene PARTLY measured — npm pinning read, dependency currency not (no committed lockfile, so no resolved version to grade)
  • Documentation: no project overview (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

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

Survey your own repository

javatarz/serverless-cqrs 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 55d0db7f69dd34ead231bc4a463c76138a9da33a — 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.