hiddewie / Elevator

CQRS, Event Sourcing, Axon, Kotlin & Spring Boot

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Elevator

Build Status Maintainability Test Coverage

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.

Framework

Axon Framework version 4 is used for all Event Sourcing and CQRS related actions, in combination with Spring Boot 2 for easy HTTP interfacing.

Getting started

Test

Run the command ./gradlew test.

Run

Run the command ./gradlew bootRun. Then web server will run on port 8080.

See the frondend readme for running the Angular frontend.

Model

Elevator

  • 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

Person

  • Starts at a floor and wishes to travel to another floor
  • Can enter and leave a elevator

Interaction

A saga is used for interaction between the person and the elevator.

About

CQRS, Event Sourcing, Axon, Kotlin & Spring Boot

License:MIT License


Languages

Language:Kotlin 85.4%Language:TypeScript 8.8%Language:HTML 3.1%Language:JavaScript 1.2%Language:Java 0.8%Language:Dockerfile 0.5%Language:SCSS 0.1%