This project models persons and elevators, and their interations. The goal is having a small project rich with domain logic, on which a CQRS architecture is well suited.
Axon Framework version 4 is used for all Event Sourcing and CQRS related actions, in combination with Spring Boot 2 for easy HTTP interfacing.
Run the command ./gradlew test
.
Run the command ./gradlew bootRun
. Then web server will run on port 8080.
See the frondend readme for running the Angular frontend.
- Can travel between floors, one at a time
- Can open and close doors
- Will automatically close the door if it has been opened for some time
- Starts at a floor and wishes to travel to another floor
- Can enter and leave a elevator
A saga is used for interaction between the person and the elevator.