https://github.com/hetic-mt-p2021/cqrses_group5
Ordering system based on CQRS and event sourcing.
https://github.com/hetic-mt-p2021/cqrses_group5
cqrs cqrs-es golang
Last synced: 8 months ago
JSON representation
Ordering system based on CQRS and event sourcing.
- Host: GitHub
- URL: https://github.com/hetic-mt-p2021/cqrses_group5
- Owner: HETIC-MT-P2021
- License: mit
- Created: 2021-01-05T14:10:33.000Z (almost 5 years ago)
- Default Branch: main
- Last Pushed: 2021-06-13T22:04:45.000Z (over 4 years ago)
- Last Synced: 2025-01-09T16:19:59.292Z (9 months ago)
- Topics: cqrs, cqrs-es, golang
- Language: Go
- Homepage:
- Size: 4.06 MB
- Stars: 0
- Watchers: 3
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE.md
Awesome Lists containing this project
README




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](https://github.com/HETIC-MT-P2021/CQRSES_GROUP5/tree/develop/doc) folder
different files allowing everyone to understand how this app is structured and help you to use it:
* [The global architecture](https://github.com/HETIC-MT-P2021/CQRSES_GROUP5/blob/develop/doc/Architecture.png)
* [The entities used](https://github.com/HETIC-MT-P2021/CQRSES_GROUP5/blob/develop/doc/Entities.png)
* [Functional Specs](https://github.com/HETIC-MT-P2021/CQRSES_GROUP5/blob/develop/doc/Functional%20Specs.docx)
* [Technical Specs](https://github.com/HETIC-MT-P2021/CQRSES_GROUP5/blob/develop/doc/Technical%20Architecture.docx)
* [A Postman Collection](https://github.com/HETIC-MT-P2021/CQRSES_GROUP5/blob/develop/doc/goqrs.postman_collection.json)### 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