{"repo":"meysamhadeli/booking-microservices","free":true,"listed":false,"github":"https://github.com/meysamhadeli/booking-microservices","clone":"git clone https://github.com/meysamhadeli/booking-microservices.git","description":"A practical microservices with the latest technologies and architectures like Vertical Slice Architecture, Event Sourcing, CQRS, DDD, gRpc, MongoDB, RabbitMq, Wolverine, and Aspire in .Net 10.","language":"C#","stars":1385,"topics":["cqrs","dotnet","dotnetcore","microservices","vertical-slice-architecture","kubernetes","clean-architecture","aspnetcore","oauth2","microservice"],"license":"MIT","category":"auth-billing-email","readme_excerpt":"🚀 A practical microservices with the latest technologies and architectures like Vertical Slice Architecture, Event Sourcing, CQRS, DDD, gRpc, MongoDB, RabbitMq, Wolverine, and Aspire in .Net 10. You can find other version of this project here: - Booking with Modular Monolith Architecture - Booking with Monolith Architecture Table of Contents - The Goals of This Project - Technologies - Libraries - Key Features - When to Use - Challenges - The Domain and Bounded Context - Service Boundary - Structure of Project - Development Setup - Dotnet Tools Packages - Husky - Upgrade Nuget Packages - How to Run - Config Certificate - Aspire - 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 Domain Driven Design (DDD) to implement all business logic . - :sparkle: Using Rabbitmq on top of Wolverine for Event Driven Architecture . - :sparkle: Using gRPC for internal communication . - :sparkle: Using CQRS implementation with MediatR library. - :sparkle: Using Postgres for write side database. - :sparkle: Using MongoDB for read side database. - :sparkle: Using Event Store for write side of Booking Microservice/Module to store all historical change of aggregate. - :sparkle: Using Wolverine durable Inbox Pattern for ensuring message idempotency for receiver and Exactly once Delivery . - :sparkle: Using Wolverine durable Outbox Pattern fo","default_branch":null,"files":null,"tree":[],"storefront":"/r/meysamhadeli","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/meysamhadeli/booking-microservices/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."}