This repository contains the labs used in the DDD in Action Workshop. Each lab demonstrates how to apply strategic and tactical DDD patterns in Java, with persistence support using MongoDB or Oracle NoSQL.
Check website for more details: Click Here
-
Java 21 or higher
-
Git
-
Maven
-
An IDE of your choice (IntelliJ IDEA, Eclipse, VS Code, etc.)
-
Docker
-
Docker Compose (optional, for starting databases)
-
Postman (optional, for testing REST endpoints)
All labs are organized inside a single Maven project, and each one builds upon the previous step. Follow them to get the best learning experience.
The labs require either MongoDB or Oracle NoSQL. You can choose one of them depending on which database you want to explore.
A docker-compose.yml file is included at the root of the project to start both databases:
docker-compose up -dThis will start:
* MongoDB on port 27017
* Oracle NoSQL on port 8080
To change the ports, edit the docker-compose.yml file.
Build the project:
mvn clean installRun a specific lab (replace labX with the module name):
mvn exec:java -pl labX-
Start either MongoDB or Oracle NoSQL (or both using Docker Compose).
-
Open the project in your IDE.
-
Build with Maven.
-
Navigate to the desired lab module.
-
Run it following the provided examples.
-
Ensure Docker is running before starting.
-
If using Docker Compose, data will persist in Docker volumes.
-
To reset everything, run:
docker-compose down -vTo simplify testing the REST endpoints, a Postman collection is included:
DDD_Workshop.postman_collection.json.
-
Open Postman.
-
Click on Import (top-left corner).
-
Select the file DDD_Workshop.postman_collection.json from the project root.
-
The collection will appear in your workspace under Collections.
You can now run the predefined requests for each lab directly from Postman.