{"repo":"meysamhadeli/booking-modular-monolith","free":true,"listed":false,"github":"https://github.com/meysamhadeli/booking-modular-monolith","clone":"git clone https://github.com/meysamhadeli/booking-modular-monolith.git","description":"A practical Modular Monolith architecture with the latest technologies and architecture like Vertical Slice Architecture, Event Driven Architecture, CQRS, DDD, gRpc, Masstransit, and Aspire in .Net 10.","language":"C#","stars":524,"topics":["modular-monolith","vertical-slice-architecture","cqrs","docker","event-sourcing","grpc","kubernetes","ddd","aspnetcore","dotnet"],"license":"MIT","category":"deployment-docker-iac","readme_excerpt":"🚀 A practical Modular Monolith architecture with the latest technologies and architecture like Vertical Slice Architecture, Event Driven Architecture, CQRS, DDD, gRpc, Masstransit, and Aspire in .Net 10. You can find other version of this project here: - Booking with Microservices 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 - Module Boundary - Structure of Project - Development Setup - Dotnet Tools Packages - Husky - Upgrade Nuget Packages - How to Run - Config Certificate - Aspire - Docker Compose - 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 InMemory Broker on top of Masstransit 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 Module to store all historical change of aggregate. - :sparkle: Using Inbox Pattern for ensuring message idempotency for receiver and Exactly once Delivery . - :sparkle: Using Outbox Pattern for ensuring no message is lost and there is at At","default_branch":null,"files":null,"tree":[],"storefront":"/r/meysamhadeli","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/meysamhadeli/booking-modular-monolith/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."}