{"repo":"meysamhadeli/booking-monolith","free":true,"listed":false,"github":"https://github.com/meysamhadeli/booking-monolith","clone":"git clone https://github.com/meysamhadeli/booking-monolith.git","description":"A practical Monolith architecture with the latest technologies and architecture like Vertical Slice Architecture, Event Driven Architecture, CQRS, DDD, and Aspire .Net 10.","language":"C#","stars":55,"topics":["aspnetcore","clean-architecture","cqrs","ddd","dotnet","dotnet-core","dotnetcore","event-driven-architecture","event-sourcing","masstransit"],"license":"MIT","category":"saas-starters-boilerplates","readme_excerpt":"🛩️ Booking Monolith 🚀 A practical Monolith architecture with the latest technologies and architecture like Vertical Slice Architecture, Event Driven Architecture, CQRS, DDD, and Aspire .Net 10. You can find other version of this project here: - Booking with Microservices Architecture - Booking with Modular Monolith Architecture Table of Contents - The Goals of This Project - Technologies - Libraries - Key Features - When to Use - Challenges - The Domain and Bounded Context - 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 CQRS implementation with MediatR library. - :sparkle: Using Postgres for write side database. - :sparkle: Using InMemory Broker on top of Masstransit for Event Driven Architecture . - :sparkle: Using MongoDB for read side database. - :sparkle: Using Event Store for write side of Booking 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 Least One Delivery . - :sparkle: Using Unit Testing for testing small units a","default_branch":null,"files":null,"tree":[],"storefront":"/r/meysamhadeli","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/meysamhadeli/booking-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."}