/CQRSES_GROUP5

Ordering system based on CQRS and event sourcing.

Primary LanguageGoMIT LicenseMIT

License golang golang-version commit build-CI

GOQRS

This school project is an API with no GUI, using the CQRS Pattern and an EventSourcing implementation to handle Authentification and manage Orders and OrderLines, for a restaurant or a coffee for exemple.

We used Docker, Compose, RabbitMQ and Go language in order to make a scalable and fast application, allowing evolutions.

Usage

git config core.hooksPath .githooks

Configure GitHooks

cp docker-compose.yaml.dist docker-compose.yaml

Docker configuration override, don't forget to add the Token, SQL and RBMQ variables

docker-compose up --build

Run the project

Consumer repo

https://github.com/HETIC-MT-P2021/CQRSES_GROUP5_CONSUMER

Resources

Order

Field Type Editable Description
id int no Order ID
reference string yes Order reference
customer string yes Customer name
time timestamp(UTC) no Order created on

Order Lines

Field Type Editable Description
id int no Order Line ID
meal string yes Type of meal ordered
quantity int yes Quantity of meal ordered
price int no Meal price (single unit)
order_id timestamp (UTC) no Order ID

Doc

You can find in the doc folder different files allowing everyone to understand how this app is structured and help you to use it:

Generated Doc

golds ./...

Start a local doc server

Or

golds -gen -dir=generated -nouses ./...

Generate static HTML doc pages

golds -dir=generated

View the generated doc

Authors


Athénaïs Dussordet

Alexandre Lellouche

Thomas Raineau

Corto Dufour