Skip to content

MateuszNaKodach/Cinema.EventSourcing.VerticalSlice.DCB.Kotlin.Axon5.Spring

Repository files navigation

Vertical Cinema (Kotlin)

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)

🚀 How to run the project?

Locally (recommended)

  1. Install any distribution of Java. At least version 21 (on MacOS I recommend SDKMAN to do that) on your machine and Docker.
  2. Install Docker Compose
  3. Clone the repository
  4. Make sure that Docker Daemon is running on your machine executing: docker ps. If you don't see output like Cannot connect to the Docker daemon you're good to go.
  5. Build the project executing: ./gradlew build -x test
  6. Run tests after changes with ./gradlew test
  7. If you want to run the application, execute: docker compose -f docker-compose.axon.yaml up and ./gradlew bootRun

To develop the application is the best to use the Intellij IDEA IDE.

Devcontainers (experimental)

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 Code button, select Codespaces tab and run new environment.
  • IntelliJ IDEA - open the project in IntelliJ IDEA, right click on .devcontainer/devcontainer.json and select Dev Containers -> Create Dev Container and Clone Sources
  • Visual Studio Code ....

🌐 Interacting with the Application

REST API

Access the REST API documentation at: http://localhost:3883/swagger-ui/index.html

About

No description or website provided.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors