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.
- NIN: National Insurance Number (as CPF in Brazil)
- PPE: Personal Protective Equipment
- DDD: Domain Driven Design
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
- Actor Models
- CQS (Command-Query Separation)
- EventSourcing
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
- https://oieduardorabelo.medium.com/node-js-e-typescript-o-como-e-com-testes-7affce2c02a8
- https://scoutapm.com/blog/nodejs-architecture-and-12-best-practices-for-nodejs-development
- https://blog.logrocket.com/design-patterns-in-node-js/
- https://www.section.io/engineering-education/how-to-create-a-simple-rest-api-using-typescript-and-nodejs/
- https://medium.com/xp-inc/rabbitmq-criando-workers-com-node-js-268b40da7789
- https://khalilstemmler.com/articles/tutorials/dependency-injection-inversion-explained/
- https://www.mongodb.com/docs/drivers/node/current/quick-start/connect-to-mongodb/
- https://gist.github.com/dsherret/cf5d6bec3d0f791cef00
- https://medium.com/swlh/using-typescript-with-mongodb-393caf7adfef
- https://www.cloudamqp.com/blog/how-to-run-rabbitmq-with-nodejs.html
- https://github.com/onebeyond/rascal
- https://levelup.gitconnected.com/how-to-add-swagger-ui-to-existing-node-js-and-express-js-project-2c8bad9364ce