// the find
meysamhadeli/booking-microservices
A practical microservices with the latest technologies and architectures like Vertical Slice Architecture, Event Sourcing, CQRS, DDD, gRpc, MongoDB, RabbitMq, Masstransit, and Aspire in .Net 10.
A reference implementation of a flight booking system built with microservices in .NET 10. Four services (identity, flight, passenger, booking) demonstrate vertical slice architecture, CQRS, event sourcing with EventStoreDB, and outbox/inbox patterns. It's a learning resource, not a production starter kit.
The outbox/inbox pattern is actually implemented, not just mentioned — PersistMessageProcessor handles at-least-once delivery properly. Event sourcing is scoped only to the Booking service where it makes sense, rather than applied cargo-cult style across everything. The test setup uses Testcontainers against real Docker instances, so the integration tests will catch what mocked tests miss. Aspire integration for local orchestration is genuinely useful and up-to-date with .NET 10.
The domain is a toy — flights and passengers have almost no real business logic, so the DDD patterns are just ceremony without substance. CQRS here means Postgres for writes and MongoDB for reads, which adds operational complexity (two databases per service) for a read model that never diverges meaningfully from the write model. The BuildingBlocks shared library is a hidden coupling point: change anything in there and you're touching every service, which defeats the independence that microservices are supposed to provide. No saga or process manager for the booking flow means distributed transaction failure handling is left as an exercise for the reader.