Files
event-demo/README.md

68 lines
1.6 KiB
Markdown

Event Demo
==========
- [Installation](./doc/installation.md)
- [What's the demo for ?](#whats-the-demo-for-)
- [What's in this demo](#whats-in-this-demo)
- [The stack](#the-stack)
What's the demo for ?
--------------------
This demo is intended to demonstrate the implementation
of different patterns and architectures.
- The Event sourcing pattern.
- The Event driver pattern.
- The CQRS pattern.
- With the Hexagonal architecture.
What's in this demo
-------------------
- The **event sourcing** pattern.
- The **event driven** pattern.
- The **CQRS** pattern with **command** and **query**.
- A fully **asynchronous** architecture.Concurently process.
- A **pure Kotlin** implementation of **readmodel**/**projection**.
- A **Redis** implementation of **readmodel**/**projection**.
- A **pure Kotlin** implementation of **Event Store**.
- A **Postgresql** implementation of **Event Store**.
- A **pure Kotlin** implementation of **Event Bus**.
- A **RabbitMQ** implementation of **Event Bus**.
- A **Hexagonal** architecture.
- Use of **Web Sockets**.
- Use of the classic **Rest** route.
- Simple usage of the **JWT**.
- The **Ktor** framework.
- The **Koin** Dependency Injection framework
- Concurrently process.
- Use of coroutines.
- Using **docker compose** for the stack with **traefik**.
- Use of **flyway** to migrate the postgresql schema.
The stack
---------
Language
- Kotlin
Framework
- Ktor
Database
- Postgresql
- with Flyway
- Redis
- RabbitMQ
Infra
- Docker
- Træfik
Architecture
============
- [Workflow Diagram](./doc/Workflow.puml)
- [Entities and Projections Diagram](./doc/Entities.puml)