Skip to content

A distributed system using Reactive DDD as uncertainty modeling, Event Storming as subdomain decomposition, Event Sourcing as an eventual persistence mechanism, CQS, Microservices for individual deployable units, Event-driven Architecture for efficient integration, and Ports-Adapters Architecture as domain-centric design

License

alexalvess/eventual-ppe-managment

Repository files navigation

Eventual PPE Managment

💡 About

Business Proposal

This project is a simple PPE Management. The principle idea is to register workers and PPE and, with this data, allow to transfer PPE to a worker. Besides that, this system allows that you see all the PPE and who has a PPE and notify if the PPE is near to expire.

Abbreviations:
  • NIN: National Insurance Number (as CPF in Brazil)
  • PPE: Personal Protective Equipment
  • DDD: Domain Driven Design

Technical Proposal

The main objective of this project is to represent a distributed, reliable, and highly scalable architecture, using the relevant principles of Reactive Domain Driven Design

Concepts

  • Actor Models
  • CQS (Command-Query Separation)
  • EventSourcing

Solution Architecture

Solution Architecture

EventStore modeling

Event Store


Running

Dcoker

The respective .docker-compose.development.yaml will provide all necessary resources, with public exposure to the connection ports:

docker compose -f ./docker-compose-development.yaml up -d

References

About

A distributed system using Reactive DDD as uncertainty modeling, Event Storming as subdomain decomposition, Event Sourcing as an eventual persistence mechanism, CQS, Microservices for individual deployable units, Event-driven Architecture for efficient integration, and Ports-Adapters Architecture as domain-centric design

Topics

Resources

License

Stars

Watchers

Forks