Skip to content
CAI
Software that uses CAICheck a score

rozturac/go-ddd-example

41.5

Weak · 21 September 2026

579

lines of production code

Go

primary language

4

measurements over time

CAI band scale
CAI trend line
CAI lens gauges

What this system is

Features

Add RabbitMQ-based event dispatching and MongoDB persistence for user operations

The infrastructure layer now introduces a RabbitMQ-backed event dispatcher and a MongoDB-based user repository. The new \common-dependency-injections.go\ and \rabbitmq-event-dispatcher.go\ files wire up a \RabbitMQEventDispatcher\ that publishes domain events to RabbitMQ queues. Simultaneously, \user-repository.go\ and \user-dependency-injections.go\ implement the user repository using MongoDB, enabling the user service to persist user data and dispatch domain events via the new event dispatcher. This change adds the necessary infrastructure components to support event-driven architecture and database interactions for user-related functionality.

infrastructure · medium confidence

Added MIT license and initial project structure

The repository now includes a LICENSE file specifying the MIT license for the software, and a main.go entry point that initializes the API. The README has been updated to document the folder structure and explain the roles of the API, Application, Domain, and Infrastructure layers, providing users with an overview of the Domain-Driven Design architecture.

(repo-wide) · high confidence

Initial API server setup with user and RabbitMQ integration

The API entry point (api/statup.go) and configuration (api/configs/appconfig.go) have been added, establishing the server on port 8080. This includes a new appsettings.dev.json for environment-specific configuration, a Go config loader using Viper, and the registration of user-related endpoints (CreateGuestUser, GetUserByObjectId) via the Echo framework. Additionally, a RabbitMQ consumer binding is initialized to handle user-created events.

api · medium confidence

Introduce user management service and RabbitMQ consumer

The application layer now includes a new user service that handles user creation (including admin and guest types) and authentication, mapping domain entities to application models. Additionally, a RabbitMQ consumer has been added to process user-created events, integrating with the existing event dispatcher structure.

application · high confidence

Introduces domain models and infrastructure for user management

The domain layer now includes the User aggregate root, which implements domain event tracking and integrates with an encrypted password mechanism that hashes and verifies credentials. The change adds a user repository interface for persistence, defines user roles (Admin, Guest), and establishes a base event dispatcher interface to handle domain events, supporting the overall event-driven architecture.

domain · 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

This is the PUBLIC form of this artifact. Findings are listed in full, but the details of SECURITY findings — which rule fired, in which file, on which line, and how to fix it — are deliberately withheld, and any secret-scanner results are excluded entirely. Where detail is absent here it was REMOVED FOR PUBLICATION; it is not missing from the analysis. The complete artifact is available from the repository owner.

Score

  • CAI 41 → 42 (+0.1)
  • Rubric changed (rubric-2026.08.18 → rubric-2026.09.15) — scores are not directly comparable.

Lenses

  • Code Health 100 → 100 (+0.0)
  • Architecture 69 → 69 (+0.0)
  • Maturity 76 → 51 (-24.8)
  • Readiness 15 → 20 (+4.4)
  • Security 97 → 84 (-13.8)
  • Domain Modelling 48 → 56 (+7.9)
  • Event-Driven 83 → 83 (+0.0)

Resolved (8)

  • Dependency hygiene not measured — dependency manifest found but not parsed for hygiene
  • No exposed public API
  • No tests — template/sample
  • OSV Dependency Vulnerabilities not included (check did not complete)
  • 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 (19)

  • Critical CVE: [GHSA redacted] (go.mod)
  • Critical CVE: [GHSA redacted] (go.mod)
  • Dependency pinned to a stale untagged commit: github.com/rozturac/rmqc
  • Deprecated module: go.mongodb.org/mongo-driver
  • Documentation: no contributor guidance (README.md)
  • Documentation: no installation or build instructions (README.md)
  • Documentation: no usage examples (README.md)
  • High CVE: [GHSA redacted] (go.mod)
  • High CVE: [GHSA redacted] (go.mod)
  • High CVE: [GHSA redacted] (go.sum)
  • High CVE: [GHSA redacted] (go.sum)
  • Medium CVE: [GHSA redacted] (go.mod)
  • Medium CVE: [GHSA redacted] (go.mod)
  • Medium CVE: GO-2022-0433 (go.mod)
  • Medium: security finding (details withheld)
  • No ADRs found
  • No automated tests
  • Outdated: github.com/labstack/echo/v4
  • Outdated: github.com/spf13/viper

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

Survey your own repository

rozturac/go-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 f8d6cfa879a48934bc2367b0b196e16cf72efc22 — 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.