https://github.com/mploed/ddd-with-spring
Code examples for my conference talk on implementing ddd with spring
https://github.com/mploed/ddd-with-spring
domain-driven-design spring-boot springframework
Last synced: about 1 month ago
JSON representation
Code examples for my conference talk on implementing ddd with spring
- Host: GitHub
- URL: https://github.com/mploed/ddd-with-spring
- Owner: mploed
- License: apache-2.0
- Created: 2018-03-28T15:27:17.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2024-08-01T21:30:40.000Z (9 months ago)
- Last Synced: 2025-04-02T03:15:50.911Z (about 1 month ago)
- Topics: domain-driven-design, spring-boot, springframework
- Language: Java
- Homepage:
- Size: 572 KB
- Stars: 797
- Watchers: 52
- Forks: 199
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# ddd-with-spring
[](https://travis-ci.org/mploed/ddd-with-spring)
This repository aims at showcasing a way how you could implement various aspects from Domain-driven Design with the
Spring ecosystem. It is also the demo project for my conference talk "Implementing Domain-driven Design with the Spring
ecosystem".## Which DDD aspects are covered?
The focus of the demo project are Aggregates, event-based communication and bounded contexts. The complete list is:- Aggregates
- Event-based communication with
- a message broker (RabbitMQ)
- HTTP Feeds
- Spring Application Events
- Architectural styles
- Hexagonal Architecture
- CRUD
- Query-driven (not yet implemented properly)
## Which Spring Technologies are being used?The project uses the following Spring technologies:
- Spring Framework Core
- Spring MVC
- Spring Boot
- Spring Cloud Stream
- Spring Data JPA## Prerequisites and getting started
In order to run the application you need to have Docker and docker-compose installed on your machine.
When you have docker up and running you need to perform the following steps on the command line:
1. ./mvnw clean package
2. docker-compose up --build
3. After everything has started you can open http://localhost:8080 in a browser of your choice