c5ms/modern-ddd-cargotracker
61.6
Adequate · 21 September 2026
3.1k
lines of production code
Java
primary language
4
measurements over time
What this system is
This system is a cargo tracking service that manages the lifecycle of shipments by processing handling reports and tracking events such as arrival, handling, and misdirection. It leverages Spring Boot for application scaffolding and Apache ActiveMQ for message-based integration, while maintaining a domain model that includes Cargo, Voyage, and Location aggregates. The architecture supports multiple processing strategies (direct, thread-pooled, or message-based) to update cargo status and publish application events for external systems.
Features
Add handling report processing and cargo event tracking
The application now supports processing handling reports to update cargo status. This includes new domain models for handling reports and events, along with application services to process them via direct, thread-pooled, or message-based strategies. Additionally, the system tracks cargo lifecycle events (arrived, handled, misdirected) and publishes corresponding application events for external integration.
cargotracker · high confidence
Added domain architecture diagram for Cargo, Handling, Voyage, and Location aggregates
A new PlantUML diagram (src/uml/domain\_architecture.puml) was added to visualize the domain model. It defines the structure and relationships of key entities such as Cargo, HandlingEvent, Voyage, and Location, along with their associated value objects like RouteSpecification, Itinerary, and Delivery. This provides a visual reference for the core domain architecture.
src/uml · high confidence
Initial commit: Spring Boot application scaffolding
The pathfinder module is introduced with a standard Spring Boot application structure. This includes the main application class (PathfinderApplication) that bootstraps the Spring context, a basic application.properties file setting the application name, and a corresponding integration test (PathfinderApplicationTests) to verify the context loads correctly. Additionally, a Maven assembly descriptor (bin.xml) is added to package executable scripts and application files into a binary distribution.
pathfinder · high confidence
Removals
Removal of legacy domain model and infrastructure classes
The Cargo entity, handling event factories and repositories, location and voyage value objects, and sample data initializers have been removed from the cargotracker-service. This eliminates the legacy domain model components (including Cargo, HandlingEvent, UnLocode, VoyageNumber) and the associated infrastructure for initializing sample data, indicating a structural cleanup or migration away from these specific domain constructs.
cargotracker-service · high confidence
Dependencies
Updated Spring Boot and added ActiveMQ support to Cargo Tracker
The Cargo Tracker module has been refactored to use Spring Boot 3.3.5 and added support for Apache ActiveMQ messaging via the spring-boot-starter-activemq dependency, while also renaming the module from 'cargotracker-service' to 'cargotracker' and updating the parent artifact ID to 'modern-ddd-cargotracker'.
(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
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 59 → 62 (+2.2)
- Rubric changed (rubric-2026.08.19 → rubric-2026.09.15) — scores are not directly comparable.
Lenses
- Code Health 99 → 99 (-0.2)
- Architecture 100 → 97 (-3.0)
- Maturity 73 → 71 (-2.0)
- Readiness 50 → 52 (+2.5)
- Security 85 → 100 (+14.7)
- Domain Modelling 51 → 53 (+1.8)
Resolved (10)
- Coverage not included — suite not readable by the collector
- Dependency hygiene not measured — dependency manifest found but not parsed for hygiene
- High: security finding (details withheld)
- High: security finding (details withheld)
- No exposed public API
- Scanner failed to run — not a clean result
- Test reliability not included
- The requirements doc lists features with status markers but does not show any actual feature description or test coverage for the listed items. (src/doc/README.md)
- early-stage repository — too few commits for a meaningful bus factor
- early-stage repository — too little history to judge knowledge freshness
New (22)
- 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)
- High: security finding (details withheld)
- High: security finding (details withheld)
- No ADRs found
- No assertions (empty test): contextLoads (pathfinder/src/test/java/com/github/c5ms/pathfinder/PathfinderApplicationTests.java)
- No assertions: assignRoute (cargotracker/src/test/java/com/github/c5ms/cargotracker/application/service/impl/DefaultBookingServiceTest.java)
- No assertions: changeDestination (cargotracker/src/test/java/com/github/c5ms/cargotracker/application/service/impl/DefaultBookingServiceTest.java)
- No assertions: inspectCargo_misdirected (cargotracker/src/test/java/com/github/c5ms/cargotracker/application/service/impl/DefaultCargoInspectorTest.java)
- No assertions: inspectCargo_unloadedAtDestination (cargotracker/src/test/java/com/github/c5ms/cargotracker/application/service/impl/DefaultCargoInspectorTest.java)
- No assertions: receiveHandlingReport (cargotracker/src/test/java/com/github/c5ms/cargotracker/application/service/impl/DirectlyHandlingReportReceiverTest.java)
- No assertions: receiveHandlingReport (cargotracker/src/test/java/com/github/c5ms/cargotracker/application/service/impl/MessageHandlingReportReceiverTest.java)
- No assertions: receiveHandlingReport (cargotracker/src/test/java/com/github/c5ms/cargotracker/application/service/impl/ThreadPooledHandlingReportReceiverTest.java)
- No assertions: receiveHandlingReport_with_process_error (cargotracker/src/test/java/com/github/c5ms/cargotracker/application/service/impl/ThreadPooledHandlingReportReceiverTest.java)
- No dependency advisory monitoring
- Scanner failed to run — not a clean result
- Scanner failed to run — not a clean result
- Test project verifies nothing: pathfinder (pathfinder/src/test/java/com/github/c5ms/pathfinder/PathfinderApplicationTests.java)
- TodoComment (cargotracker/src/main/java/com/github/c5ms/cargotracker/application/service/impl/ThreadPooledHandlingReportReceiver.java)
- …and 2 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
c5ms/modern-ddd-cargotracker 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 c8bfd81381fb03a357944e0349e52ec900288980 — 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.