{"repo":"meysamhadeli/booking-microservices-expressjs","free":true,"listed":false,"github":"https://github.com/meysamhadeli/booking-microservices-expressjs","clone":"git clone https://github.com/meysamhadeli/booking-microservices-expressjs.git","description":"Practical microservices, built with Node.Js, CQRS, Vertical Slice Architecture, Event-Driven Architecture, Postgres, RabbitMQ, Express and the latest technologies.","language":"TypeScript","stars":294,"topics":["docker","rabbitmq","typeorm","vertical-slice-architecture","express","nodejs","typescript","node-js","node","clean-architecture"],"license":"MIT","category":"deployment-docker-iac","readme_excerpt":"A practical and imaginary microservices for implementing an infrastructure for up and running distributed system with the latest technology and architecture like Vertical Slice Architecture, Event Driven Architecture, CQRS, Postgres, RabbitMQ and Express in Node.Js. 🚀 You can find Nestjs ported of this project in this link: 🔗 booking-microservices-nestjs Table of Contents - The Goals of This Project - Plan - Technologies - Libraries - The Domain and Bounded Context - Service Boundary - Structure of Project - How to Use Migrations - How to Run - Docker Compose - Kubernetes - Build - Run - Test - Documentation Apis - Support - Contribution The Goals of This Project - :sparkle: Using Vertical Slice Architecture for architecture level. - :sparkle: Using Rabbitmq on top of amqp for Event Driven Architecture between our microservices. - :sparkle: Using Data Centric Architecture based on CRUD in all Services. - :sparkle: Using Rest for internal communication between our microservices with axios . - :sparkle: Using CQRS implementation with MediatrJs internal library. - :sparkle: Using Express for web framework . - :sparkle: Using Postgres for database level with typeorm . - :sparkle: Using tsyringe for handling dependency injection . - :sparkle: Using Passport for authentication and authorization , base on JWT . - :sparkle: Using OpenTelemetry for distributed tracing top of Jaeger and Zipkin . - :sparkle: Using OpenTelemetry for monitoring top of Prometteuse and Grafana . - :sparkl","default_branch":null,"files":null,"tree":[],"storefront":"/r/meysamhadeli","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/meysamhadeli/booking-microservices-expressjs/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}