A reference implementation of a cargo booking system demonstrating Domain-Driven Design (DDD) patterns and practices.
DDDSample is a reference implementation of a cargo booking system that demonstrates Domain-Driven Design principles in practice. It provides a concrete example of how to structure enterprise applications using DDD patterns like aggregates, repositories, and domain services. The project serves as an educational resource for developers learning DDD and a blueprint for teams implementing DDD in their own projects.
Software architects and senior developers implementing Domain-Driven Design in enterprise Java applications, particularly those using Spring Boot who need practical examples of DDD patterns.
Developers choose DDDSample because it's the canonical, community-maintained reference implementation endorsed by Eric Evans' Domain Language company, providing authoritative examples of DDD patterns applied to a realistic business domain with production-ready code structure.
This is the new home of the original DDD Sample app (previously hosted at sf.net)..
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Endorsed by Eric Evans' Domain Language, providing a canonical example of DDD patterns applied to a real-world cargo shipping domain, as stated in the README.
Demonstrates DDD implementation within a modern Spring Boot application, including REST APIs with OpenAPI documentation, making it practical for current Java development.
Includes both unit and integration tests that validate domain behavior and application functionality, ensuring reliable learning examples from the project's test suite.
Illustrates separation of domain logic from infrastructure using ports and adapters, a key principle for maintainable DDD applications as shown in the code structure.
The project is actively being moved from SourceForge and upgraded, which may result in incomplete documentation or instability during the transition period, as noted in the README.
Focused exclusively on cargo shipping, so it doesn't cover DDD patterns for other business domains like finance or healthcare without significant modification.
As a sample application, it omits advanced concerns like security, monitoring, and database optimization, requiring additional work for real-world deployments beyond the educational scope.