Skip to content
CAI
Software that uses CAICheck a score

wx-chevalier/ddd-examples

41.7

Weak · 20 September 2026

59k

lines of production code

Java

with JavaScript, TypeScript, PHP

4

measurements over time

CAI band scale
CAI trend line
CAI lens gauges

What this system is

This repository serves as a curated collection of sample applications demonstrating various software architecture patterns, primarily focusing on Domain-Driven Design (DDD) and Command Query Responsibility Segregation (CQRS). It includes distinct implementations for diverse domains such as bookstore orders, telecom billing, banking, and elderly care facility management, each showcasing specific structural approaches like hexagonal architecture or microservices. The project also provides utility starters and test coverage examples, functioning as a technical reference rather than a single production system.

Features

Initial CQRS bookstore implementation with order context

This change introduces the core architecture and initial implementation for a CQRS-based bookstore application, specifically focusing on the order context. It adds foundational domain primitives such as GenericId, AggregateRoot, ValueObject, and DomainEvent, alongside command and event bus interfaces. The order context includes specific contracts for orders (BookId, OrderId, OrderLine), publisher contracts, and their associated domain events (OrderPlacedEvent, OrderActivatedEvent, etc.). An application layer is provided using Dropwizard, wiring together infrastructure components like Guava-based command/event buses, an in-memory event store, and a file-based event store. It also includes a simple admin UI for viewing orders and events, along with basic test utilities.

(repo-wide) · high confidence

Initial commit of Java Spring CQRS and DDD sample applications

This change introduces several new sample projects to the repository, including a CQRS bookstore example, a DDD sample core application, and an Alibaba COLA-based craftsman and charge system. The diff adds essential project scaffolding such as Maven and Gradle wrappers, CI/CD configurations (Travis CI, GitHub Actions), license files, and documentation. It also includes specific configuration files for development environments (YAML properties for ports and logging) and infrastructure artifacts like MyBatis mapper XMLs and database schema definitions for the craftsman module.

java-spring · high confidence

Initial release of the Spring DDD Bank application

This change introduces the complete initial codebase for the Spring DDD Bank application, including the domain model (Client, Account, Amount, BankService), the infrastructure layer implementing Spring Data JPA repositories, and the main Application entry point which configures and starts an embedded Derby network server. It also adds documentation for the domain model and the REST API endpoints.

(repo-wide) · high confidence

Initial release of the Yanglao System microservices

This change introduces the initial codebase for the Yanglao System, a Spring Boot-based application for elderly care facility management. It adds three new sub-projects: \gateway-management\, which acts as an API gateway routing requests to room and order services; \order-management\, which implements the business logic for creating, paying, and closing orders while validating room availability; and \room-management\, which handles room lifecycle states (empty, reserved, leased) and persistence. The implementation follows a hexagonal architecture with domain entities, application services, and REST controllers, accompanied by comprehensive integration and unit tests for all modules.

(repo-wide) · high confidence

New 'charge' subproject for telecom call charging logic

A new Java Spring Boot subproject named 'charge' has been added to the repository. It provides a REST API for managing telecom call sessions, including endpoints to begin, charge, and end calls, as well as retrieve charge records. The implementation follows a layered architecture with a Spring MVC adapter, application services, and a domain layer that handles account validation, session management, and billing logic. The billing engine supports multiple charge plans (Basic, Fixed Time, and Family) and persists charge records to a MySQL database via JPA.

(repo-wide) · high confidence

Removals

Removal of OkHttp Spring Boot starter and core utility types

This change removes the \udma/starter\ module, which provided Spring Boot auto-configuration for OkHttp3 (including properties for timeouts, caching, and interceptors, as well as \@ApplicationInterceptor\ and \@NetworkInterceptor\ qualifiers), and deletes several core DTO and model classes from \udma/core\ (including \ParamDateRange\, \ParamSortOrders\, \BaseBizException\ and its subclasses, \HasId\/\HasName\ interfaces, and pagination classes like \IdBasedPageData\ and \Page\). It also removes associated build and CI infrastructure files such as \.travis.yml\, \deploy.sh\, and checkstyle configurations. Users relying on the OkHttp starter or these specific core utility types will need to migrate to alternative implementations or remove these dependencies.

udma, udma/core, udma/starter/autoconfigure · high confidence

Behavioural changes

Removal of legacy JWT authentication and security infrastructure

The API and common modules have removed the entire legacy JWT authentication stack, including the \JwtAuthorizationFilter\, \JwtTokenService\ implementation, and associated configuration classes (\JwtTokenProperties\, \SecurityUserImpl\). This change also eliminates the previous Spring Security configuration (\WebSecurityConfig\) and CORS settings (\CORSConfig\), along with shared identity data classes (\PersonId\, \UserId\, \TenantId\, \SecurityUser\) and the \SecurityContextHelper\. Users relying on the previous Bearer token authentication flow will need to adopt the new authentication mechanism implied by the remaining codebase.

realworld/api, realworld/common · high confidence

Repository rebranded to generic template with new documentation site

The project has been converted into a generic repository template, replacing the previous 'ms-spring-ddd-examples' identity with 'repo' and 'Project Name' across the README, header image, and license metadata. A new documentation site powered by Docsify has been added via index.html, featuring a sidebar, table of contents, search, and code highlighting, while the README content has been simplified to standard template instructions for cloning and installation.

(repo-wide) · high confidence

Test coverage

Added feature tests for course creation, counting, and health check; Added test coverage for WMS reverse modeling and LiteFlow pack flow components.

Dependencies

Add Maven and Gradle build manifests for Java example projects

Added build configuration files (pom.xml and build.gradle) for several Java example projects, including the CQRS Bookstore, DDD Sample, COLA Craftsman, and Yanglao System. These manifests define project dependencies, build plugins, and module structures for the respective codebases.

(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 39 → 42 (+3.2)
  • Rubric changed (rubric-2026.08.17 → rubric-2026.09.15) — scores are not directly comparable.

Lenses

  • Code Health 84 → 81 (-2.6)
  • Architecture 61 → 69 (+8.6)
  • Maturity 75 → 76 (+1.0)
  • Readiness 27 → 30 (+3.5)
  • Security 46 → 60 (+13.8)
  • Domain Modelling 100 → 63 (-36.7)
  • Event Sourcing 100 → 100 (+0.0)
  • Accessibility 34 → 35 (+0.7)

Resolved (165)

  • AggregateAnnotationParser.parse (cognitive 17) (java-spring/2022~cp-ddd-framework/dddplus-visualization/src/main/java/io/github/dddplus/ast/parser/AggregateAnnotationParser.java)
  • BasePattern.match (cognitive 16) (java-spring/2022~cp-ddd-framework/dddplus-runtime/src/main/java/io/github/dddplus/runtime/BasePattern.java)
  • ClassMethodDistributionAstNodeVisitor.visit (cognitive 24) (java-spring/2022~cp-ddd-framework/dddplus-visualization/src/main/java/io/github/dddplus/ast/ClassMethodDistributionAstNodeVisitor.java)
  • ClassMethodDistributionAstNodeVisitor.visit (cyclomatic 23) (java-spring/2022~cp-ddd-framework/dddplus-visualization/src/main/java/io/github/dddplus/ast/ClassMethodDistributionAstNodeVisitor.java)
  • Coverage not included — suite not readable by the collector
  • Critical CVE: [GHSA redacted] (node/ddd-hexagonal-cqrs-es-eda/backend/yarn.lock)
  • Critical CVE: [GHSA redacted] (node/ddd-hexagonal-cqrs-es-eda/telemetry-consumer/go.mod)
  • Critical CVE: [GHSA redacted] (node/ddd-hexagonal-cqrs-es-eda/backend/yarn.lock)
  • Critical CVE: [GHSA redacted] (node/ddd-hexagonal-cqrs-es-eda/backend/yarn.lock)
  • Critical CVE: [GHSA redacted] (php/php-ddd-example/composer.lock)
  • Critical CVE: [GHSA redacted] (node/ddd-hexagonal-cqrs-es-eda/telemetry-consumer/go.mod)
  • Critical CVE: [GHSA redacted] (node/ddd-hexagonal-cqrs-es-eda/telemetry-consumer/go.mod)
  • Critical CVE: [GHSA redacted] (node/ddd-hexagonal-cqrs-es-eda/telemetry-consumer/go.mod)
  • Critical CVE: [GHSA redacted] (node/ddd-hexagonal-cqrs-es-eda/backend/yarn.lock)
  • Critical CVE: [GHSA redacted] (node/ddd-hexagonal-cqrs-es-eda/backend/yarn.lock)
  • Critical CVE: [GHSA redacted] (node/ddd-hexagonal-cqrs-es-eda/telemetry-consumer/go.mod)
  • Critical CVE: [GHSA redacted] (node/ddd-hexagonal-cqrs-es-eda/telemetry-consumer/go.mod)
  • Critical CVE: [GHSA redacted] (node/ddd-hexagonal-cqrs-es-eda/telemetry-consumer/go.mod)
  • Critical CVE: [GHSA redacted] (node/ddd-hexagonal-cqrs-es-eda/telemetry-consumer/go.mod)
  • Critical CVE: [GHSA redacted] (node/ddd-hexagonal-cqrs-es-eda/frontend/yarn.lock)
  • …and 145 more

New (988)

  • Critical CVE: [GHSA redacted] (node/ddd-hexagonal-cqrs-es-eda/backend/yarn.lock)
  • Critical CVE: [GHSA redacted] (node/ddd-hexagonal-cqrs-es-eda/backend/yarn.lock)
  • Critical CVE: [GHSA redacted] (node/ddd-hexagonal-cqrs-es-eda/telemetry-consumer/go.mod)
  • Critical CVE: [GHSA redacted] (node/ddd-hexagonal-cqrs-es-eda/backend/yarn.lock)
  • Critical CVE: [GHSA redacted] (node/ddd-hexagonal-cqrs-es-eda/frontend/yarn.lock)
  • Critical CVE: [GHSA redacted] (node/ddd-hexagonal-cqrs-es-eda/backend/yarn.lock)
  • Critical CVE: [GHSA redacted] (php/php-ddd-example/composer.lock)
  • Critical CVE: [GHSA redacted] (node/ddd-hexagonal-cqrs-es-eda/telemetry-consumer/go.mod)
  • Critical CVE: [GHSA redacted] (node/ddd-hexagonal-cqrs-es-eda/backend/yarn.lock)
  • Critical CVE: [GHSA redacted] (node/ddd-hexagonal-cqrs-es-eda/frontend/yarn.lock)
  • Critical CVE: [GHSA redacted] (node/ddd-hexagonal-cqrs-es-eda/backend/yarn.lock)
  • Critical CVE: [GHSA redacted] (node/ddd-hexagonal-cqrs-es-eda/frontend/yarn.lock)
  • Critical CVE: [GHSA redacted] (node/ddd-hexagonal-cqrs-es-eda/frontend/yarn.lock)
  • Critical IaC: DS-0031 (node/ddd-hexagonal-cqrs-es-eda/backend/Dockerfile)
  • Critical IaC: DS-0031 (node/ddd-hexagonal-cqrs-es-eda/backend/Dockerfile)
  • Critical IaC: DS-0031 (node/ddd-hexagonal-cqrs-es-eda/backend/Dockerfile)
  • Deprecated module: go.opentelemetry.io/otel/exporters/jaeger
  • Documentation: no architecture or design documentation (java-spring/2021~baiyan_lou~ddd-demo/README.md)
  • Documentation: no installation or build instructions (README.md)
  • Documentation: no project overview (README.md)
  • …and 968 more

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

Survey your own repository

wx-chevalier/ddd-examples 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 20 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 457d904a8bd75e2ca9f6952551fc6daf051ec730 — 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.