Shows how to use Domain-Driven Design, Event Storming, Event Modeling and Event Sourcing in the small Cinema domain.
MIRO Board with the complete Event Modeling: CLICK (you will receive the password during the workshop)
- Install any distribution of Java. At least version 21 (on MacOS I recommend SDKMAN to do that) on your machine and Docker.
- Install Docker Compose
- Clone the repository
- Make sure that Docker Daemon is running on your machine executing:
docker ps. If you don't see output likeCannot connect to the Docker daemonyou're good to go. - Build the project executing:
./gradlew build -x test - Run tests after changes with
./gradlew test - If you want to run the application, execute:
docker compose -f docker-compose.axon.yaml upand./gradlew bootRun
To develop the application is the best to use the Intellij IDEA IDE.
- Ultimate version with 30-days trial: https://www.jetbrains.com/idea/download/
- Community version: https://www.jetbrains.com/idea/download
Development Containers - An open specification for enriching containers with development specific content and settings.
If you don't want to install anything on your machine, you can use the devcontainer from the .devcontainer directory.
But it gives you slower build/test times than running the project locally.
How to run devcontainer? It depends on your IDE:
- GitHub Codespaces - just go to the repository page, click the
Codebutton, selectCodespacestab and run new environment. - IntelliJ IDEA - open the project in IntelliJ IDEA, right click on
.devcontainer/devcontainer.jsonand selectDev Containers->Create Dev Container and Clone Sources - Visual Studio Code ....
Access the REST API documentation at: http://localhost:3883/swagger-ui/index.html