microservice-patterns
Microservice pattern demos (Saga, EventSourcing, CQRS...) running on .NET Aspire
File Explorer
Download Latest Version (.zip)- settings.json
- copilot-instructions.md
- mcp.json
- default.yaml
- default.yaml
- grafana.ini
- aspnetcore-endpoint.json
- aspnetcore.json
- config.yaml
- prometheus.yml
- IEventPublisher.cs
- IIntegrationEventHandler.cs
- MessageEnvelop.cs
- IntegrationEvent.cs
- EventBus.csproj
- IIntegrationEventFactory.cs
- IntegrationEventFactory.cs
- NullEventPublisher.cs
- EventBus.Kafka.csproj
- EventHandlingService.cs
- GlobalUsings.cs
- KafkaEventBusExtensions.cs
- KafkaEventPublisher.cs
- launchSettings.json
- appsettings.Development.json
- appsettings.json
- Book.cs
- Borrower.cs
- Borrowing.cs
- BorrowingHistoryItem.cs
- ILibraryService.cs
- LibraryService.cs
- LibraryTool.cs
- Mcp.CQRS.Library.McpServer.csproj
- Program.cs
- launchSettings.json
- Account.cs
- AccountService.cs
- AccountTool.cs
- appsettings.Development.json
- appsettings.json
- IAccountService.cs
- Mcp.EventSourcing.Banking.McpServer.csproj
- Program.cs
- launchSettings.json
- appsettings.Development.json
- appsettings.json
- IOrderService.cs
- Mcp.Saga.OnlineStore.McpServer.csproj
- Order.cs
- OrderService.cs
- OrderTool.cs
- Program.cs
- launchSettings.json
- appsettings.Development.json
- appsettings.json
- ITripPlanningService.cs
- Mcp.Saga.TripPlanner.McpServer.csproj
- Program.cs
- Trip.cs
- TripPlanningService.cs
- TripPlanningTool.cs
- README.md
- IMediator.cs
- INotification.cs
- INotificationHandler.cs
- Mediator.cs
- Mediator.csproj
- MediatorOptions.cs
- RegistrationExtensions.cs
- ApplicationHostServiceCollectionExtensions.cs
- DevCertHostingExtensions.cs
- ExternalServiceRegistrationExtentions.cs
- RemoteMcpRegistrationExtensions.cs
- ResourceExtensions.cs
- OpenTelemetryCollectorResource.cs
- OpenTelemetryCollectorResourceBuilderExtensions.cs
- OpenTelemetryCollectorServiceExtensions.cs
- README.md
- launchSettings.json
- AppHost.cs
- appsettings.Development.json
- appsettings.json
- GlobalUsings.cs
- MicroservicePatterns.AppHost.csproj
- DbContextMigrationExtensions.cs
- MicroservicePatterns.DatabaseMigrationHelpers.csproj
- appsettings.json
- IRemoteMcpClient.cs
- MicroservicePatterns.RemoteMcp.csproj
- RemoteMcpClient.cs
- RemoteMcpClientConstants.cs
- RemoteMcpClientServiceCollectionExtensions.cs
- Extensions.cs
- MicroservicePatterns.ServiceDefaults.csproj
- PaginationRequest.cs
- PaginationResponse.cs
- Consts.cs
- MicroservicePatterns.Shared.csproj
- ProductApi.cs
- ApplicationServiceExtensions.cs
- ProductMapper.cs
- POSProduct.cs
- launchSettings.json
- ApiServices.cs
- appsettings.Development.json
- appsettings.json
- BFF.ProductCatalog.BackendForPOS.csproj
- BFF.ProductCatalog.BackendForPOS.http
- GlobalUsings.cs
- Program.cs
- BFF.ProductCatalog.Events.csproj
- ProductEvents.cs
- VariantEvents.cs
- BFF.ProductCatalog.Search.csproj
- ProductEsMapper.cs
- ProductIndexDocument.cs
- ProductSearchApi.cs
- ApplicationServiceExtensions.cs
- launchSettings.json
- ApiServices.cs
- appsettings.Development.json
- appsettings.json
- BFF.ProductCatalog.SearchService.csproj
- BFF.ProductCatalog.SearchService.http
- Program.cs
- ProductCreatedEventHandler.cs
- launchSettings.json
- appsettings.Development.json
- appsettings.json
- BFF.ProductCatalog.SearchSyncService.csproj
- GlobalUsings.cs
- Program.cs
- ProductCatalogApi.cs
- Sortings.cs
- ApplicationServiceExtensions.cs
- EventExtensions.cs
- ProductCatalogDbContext.cs
- ProductCatalogDesignTimeDbContextFactory.cs
- Brand.cs
- Category.cs
- Dimension.cs
- DimensionDisplayTypes.cs
- DimensionValue.cs
- Group.cs
- GroupProduct.cs
- Image.cs
- Product.cs
- ProductDimension.cs
- ProductImage.cs
- Variant.cs
- VariantDimensionValue.cs
- VariantImage.cs
- IUnitOfWork.cs
- UnitOfWork.cs
- 20251021121432_InitialCreate.cs
- 20251021121432_InitialCreate.Designer.cs
- ProductCatalogDbContextModelSnapshot.cs
- launchSettings.json
- ApiServices.cs
- appsettings.Development.json
- appsettings.json
- BFF.ProductCatalogService.csproj
- BFF.ProductCatalogService.http
- GlobalUsings.cs
- Program.cs
- README.md
- BookApi.cs
- ApplicationServiceExtensions.cs
- BookDbContext.cs
- Book.cs
- 20250301095050_InitialCreate.cs
- 20250301095050_InitialCreate.Designer.cs
- BookDbContextModelSnapshot.cs
- launchSettings.json
- ApiServices.cs
- appsettings.Development.json
- appsettings.json
- CQRS.Library.BookService.csproj
- CQRS.Library.BookService.http
- GlobalUsings.cs
- Program.cs
- BorrowerApi.cs
- ApplicationServiceExtensions.cs
- BorrowerDbContext.cs
- Borrower.cs
- 20250301090708_InitialCreate.cs
- 20250301090708_InitialCreate.Designer.cs
- BorrowerDbContextModelSnapshot.cs
- launchSettings.json
- ApiServices.cs
- appsettings.Development.json
- appsettings.json
- CQRS.Library.BorrowerService.csproj
- CQRS.Library.BorrowerService.http
- GlobalUsings.cs
- Program.cs
- BorrowingHistoryApi.cs
- ApplicationServiceExtensions.cs
- BookBorrowingIntegrationEventHandler.cs
- BookIntegrationEventHandler.cs
- BorrowerIntegrationEventHandler.cs
- BorrowingHistoryDbContext.cs
- Book.cs
- Borrower.cs
- BorrowingHistoryItem.cs
- 20250301133135_InitialCreate.cs
- 20250301133135_InitialCreate.Designer.cs
- BorrowingDbContextModelSnapshot.cs
- launchSettings.json
- ApiServices.cs
- appsettings.Development.json
- appsettings.json
- CQRS.Library.BorrowingHistoryService.csproj
- CQRS.Library.BorrowingHistoryService.http
- GlobalUsings.cs
- Program.cs
- BorrowingApi.cs
- ApplicationServiceExtensions.cs
- BorrowerDbContext.cs
- Borrowing.cs
- 20250302172957_InitialCreate.cs
- 20250302172957_InitialCreate.Designer.cs
- BorrowingDbContextModelSnapshot.cs
- launchSettings.json
- ApiServices.cs
- appsettings.Development.json
- appsettings.json
- CQRS.Library.BorrowingService.csproj
- CQRS.Library.BorrowingService.http
- GlobalUsings.cs
- Program.cs
- MainLayout.razor
- MainLayout.razor.css
- NavMenu.razor
- NavMenu.razor.css
- ReconnectModal.razor
- ReconnectModal.razor.css
- ReconnectModal.razor.js
- BookDialog.razor
- Books.razor
- Borrow.razor
- BorrowerDialog.razor
- Borrowers.razor
- Error.razor
- History.razor
- Home.razor
- NotFound.razor
- _Imports.razor
- App.razor
- Routes.razor
- Book.cs
- Borrower.cs
- Borrowing.cs
- launchSettings.json
- bootstrap-grid.css
- bootstrap-grid.css.map
- bootstrap-grid.min.css
- bootstrap-grid.min.css.map
- bootstrap-grid.rtl.css
- bootstrap-grid.rtl.css.map
- bootstrap-grid.rtl.min.css
- bootstrap-grid.rtl.min.css.map
- bootstrap-reboot.css
- bootstrap-reboot.css.map
- bootstrap-reboot.min.css
- bootstrap-reboot.min.css.map
- bootstrap-reboot.rtl.css
- bootstrap-reboot.rtl.css.map
- bootstrap-reboot.rtl.min.css
- bootstrap-reboot.rtl.min.css.map
- bootstrap-utilities.css
- bootstrap-utilities.css.map
- bootstrap-utilities.min.css
- bootstrap-utilities.min.css.map
- bootstrap-utilities.rtl.css
- bootstrap-utilities.rtl.css.map
- bootstrap-utilities.rtl.min.css
- bootstrap-utilities.rtl.min.css.map
- bootstrap.css
- bootstrap.css.map
- bootstrap.min.css
- bootstrap.min.css.map
- bootstrap.rtl.css
- bootstrap.rtl.css.map
- bootstrap.rtl.min.css
- bootstrap.rtl.min.css.map
- bootstrap.bundle.js
- bootstrap.bundle.js.map
- bootstrap.bundle.min.js
- bootstrap.bundle.min.js.map
- bootstrap.esm.js
- bootstrap.esm.js.map
- bootstrap.esm.min.js
- bootstrap.esm.min.js.map
- bootstrap.js
- bootstrap.js.map
- bootstrap.min.js
- bootstrap.min.js.map
- app.css
- favicon.png
- appsettings.Development.json
- appsettings.json
- CQRS.Library.Frontend.csproj
- Program.cs
- BooksIntegrationEvents.cs
- BorrowerIntegrationEvents.cs
- BorrowingIntegrationEvents.cs
- CQRS.Library.IntegrationEvents.csproj
- README.md
- AccountApi.cs
- ApplicationServiceExtensions.cs
- AccountEvents.cs
- Account.cs
- Transaction.cs
- launchSettings.json
- OpenAccountRequestValidationAttribute.cs
- ApiServices.cs
- appsettings.Development.json
- appsettings.json
- EventSourcing.Banking.AccountService.csproj
- EventSourcing.Banking.AccountService.http
- GlobalUsings.cs
- Program.cs
- EventSourcing.Banking.IntegrationEvents.csproj
- 20250328134421_InitialCreate.cs
- 20250328134421_InitialCreate.Designer.cs
- EventStoreDbContextModelSnapshot.cs
- Event.cs
- EventStream.cs
- EventStoreDbContext.cs
- EventStoreDbContextFactory.cs
- PostgresqlEventStore.cs
- EventSourcing.Infrastructure.csproj
- EventStoreExtensions.cs
- IEventStore.cs
- RegistrationExtensions.cs
- launchSettings.json
- appsettings.Development.json
- appsettings.json
- EventSourcing.NotificationService.csproj
- Program.cs
- Worker.cs
- Aggregate.cs
- EventSourcing.SeedWork.csproj
- IDomainEvent.cs
- README.md
- CatalogApi.cs
- ApplicationServiceExtensions.cs
- CatalogDbContext.cs
- ProcessedMessage.cs
- Product.cs
- 20260330095132_InitialCreate.cs
- 20260330095132_InitialCreate.Designer.cs
- CatalogDbContextModelSnapshot.cs
- launchSettings.json
- ApiServices.cs
- appsettings.Development.json
- appsettings.json
- GlobalUsings.cs
- IdempotentConsumer.CatalogService.csproj
- IdempotentConsumer.CatalogService.http
- Program.cs
- README.md
- ConnectApi.cs
- UserApi.cs
- ApplicationServiceExtensions.cs
- ApplicationDbContext.cs
- ApplicationUser.cs
- 20260314072125_InitialCreate.cs
- 20260314072125_InitialCreate.Designer.cs
- ApplicationDbContextModelSnapshot.cs
- launchSettings.json
- OpenIddictSeedWorker.cs
- appsettings.Development.json
- appsettings.json
- GlobalUsings.cs
- Identity.IdentityService.csproj
- Program.cs
- README.md
- IResilienceStrategy.cs
- ResiliencePatterns.Core.csproj
- CircuitBreakerOpenException.cs
- CircuitBreakerResilienceStrategy.cs
- CircuitBreakerResilienceStrategyContext.cs
- ResiliencePatterns.Strategies.csproj
- README.md
- CatalogApi.cs
- ApplicationServiceExtensions.cs
- CatalogDbContext.cs
- Product.cs
- 20250305181914_InitialCreate.cs
- 20250305181914_InitialCreate.Designer.cs
- CatalogDbContextModelSnapshot.cs
- launchSettings.json
- ApiServices.cs
- appsettings.Development.json
- appsettings.json
- GlobalUsings.cs
- Program.cs
- Saga.OnlineStore.CatalogService.csproj
- Saga.OnlineStore.CatalogService.http
- CardIntegrationEvents.cs
- InventoryIntegrationEvents.cs
- OrderIntegrationEvents.cs
- ProductIntegrationEvents.cs
- Saga.OnlineStore.IntegrationEvents.csproj
- InventoryApi.cs
- ApplicationServiceExtensions.cs
- OrderIntegrationEventHandlers.cs
- ProductIntegrationEventHandlers.cs
- InventoryDbContext.cs
- InventoryItem.cs
- ReservedItem.cs
- 20250308130627_InitialCreate.cs
- 20250308130627_InitialCreate.Designer.cs
- InventoryDbContextModelSnapshot.cs
- launchSettings.json
- ApiServices.cs
- appsettings.Development.json
- appsettings.json
- GlobalUsings.cs
- Program.cs
- Saga.OnlineStore.InventoryService.csproj
- Saga.OnlineStore.InventoryService.http
- OrderApi.cs
- ApplicationServiceExtensions.cs
- OrderIntegrationEventHandlers.cs
- OrderDbContext.cs
- Order.cs
- OrderItem.cs
- 20250307122437_InitialCreate.cs
- 20250307122437_InitialCreate.Designer.cs
- OrderDbContextModelSnapshot.cs
- launchSettings.json
- ApiServices.cs
- appsettings.Development.json
- appsettings.json
- GlobalUsings.cs
- Program.cs
- Saga.OnlineStore.OrderService.csproj
- Saga.OnlineStore.OrderService.http
- PaymentApi.cs
- ApplicationServiceExtensions.cs
- PaymentIntegrationEventHandlers.cs
- PaymentDbContext.cs
- Card.cs
- 20250310115008_InitialCreate.cs
- 20250310115008_InitialCreate.Designer.cs
- PaymentDbContextModelSnapshot.cs
- launchSettings.json
- ApiServices.cs
- appsettings.Development.json
- appsettings.json
- GlobalUsings.cs
- Program.cs
- Saga.OnlineStore.PaymentService.csproj
- Saga.OnlineStore.PaymentService.http
- HotelApi.cs
- ApplicationServiceExtensions.cs
- HotelDbContext.cs
- Booking.cs
- Room.cs
- 20250317151133_InitialCreate.cs
- 20250317151133_InitialCreate.Designer.cs
- HotelDbContextModelSnapshot.cs
- launchSettings.json
- ApiServices.cs
- appsettings.Development.json
- appsettings.json
- GlobalUsings.cs
- Program.cs
- Saga.TripPlanner.HotelService.csproj
- Saga.TripPlanner.HotelService.http
- HotelIntegrationEvents.cs
- PaymentIntegrationEvents.cs
- Saga.TripPlanner.IntegrationEvents.csproj
- TicketIntegrationEvents.cs
- TripIntegrationEvents.cs
- PaymentApi.cs
- ApplicationServiceExtensions.cs
- PaymentIntegrationEventHandlers.cs
- PaymentDbContext.cs
- CreditCard.cs
- 20250320095940_InitialCreate.cs
- 20250320095940_InitialCreate.Designer.cs
- PaymentDbContextModelSnapshot.cs
- launchSettings.json
- ApiServices.cs
- appsettings.Development.json
- appsettings.json
- GlobalUsings.cs
- Program.cs
- Saga.TripPlanner.PaymentService.csproj
- Saga.TripPlanner.PaymentService.http
- TicketApi.cs
- ApplicationServiceExtensions.cs
- TicketDbContext.cs
- Ticket.cs
- TicketType.cs
- 20250317151325_InitialCreate.cs
- 20250317151325_InitialCreate.Designer.cs
- TicketDbContextModelSnapshot.cs
- launchSettings.json
- ApiServices.cs
- appsettings.Development.json
- appsettings.json
- GlobalUsings.cs
- Program.cs
- Saga.TripPlanner.TicketService.csproj
- Saga.TripPlanner.TicketService.http
- TripPlanningApi.cs
- ApplicationServiceExtensions.cs
- TripPlanningDbContext.cs
- HotelBooking.cs
- TicketBooking.cs
- Trip.cs
- 20250322222012_InitialCreate.cs
- 20250322222012_InitialCreate.Designer.cs
- TripPlanningDbContextModelSnapshot.cs
- launchSettings.json
- ApiServices.cs
- appsettings.Development.json
- appsettings.json
- GlobalUsings.cs
- Program.cs
- Saga.TripPlanner.TripPlanningService.csproj
- Saga.TripPlanner.TripPlanningService.http
- SagaServices.cs
- README.md
- ILogTailingOutboxMessageRepository.cs
- IPollingOutboxMessageRepository.cs
- LogTailingOutboxMessage.cs
- PollingOutboxMessage.cs
- TransactionalOutbox.Abstractions.csproj
- DebeziumContainerResource.cs
- DebeziumResourceBuilderExtensions.cs
- TransactionalOutbox.Aspire.Debezium.csproj
- AccountApi.cs
- ApplicationServiceExtensions.cs
- ConnectorRegistration.cs
- AccountDbContext.cs
- AccountDbDesignTimeDbContextFactory.cs
- Account.cs
- Transaction.cs
- 20250401110707_InitialCreate.cs
- 20250401110707_InitialCreate.Designer.cs
- AccountDbContextModelSnapshot.cs
- launchSettings.json
- ApiServices.cs
- appsettings.Development.json
- appsettings.json
- GlobalUsings.cs
- IUnitOfWork.cs
- Program.cs
- TransactionalOutbox.Banking.AccountService.csproj
- TransactionalOutbox.Banking.AccountService.http
- UnitOfWork.cs
- OutboxDbContext.cs
- OutboxDbDesignTimeDbContextFactory.cs
- 20250405090144_InitialCreate.cs
- 20250405090144_InitialCreate.Designer.cs
- OutboxDbContextModelSnapshot.cs
- TransactionalOutboxLogTailingService.cs
- TransactionalOutboxPollingService.cs
- GlobalUsings.cs
- LogTailingOutboxMessageRepository.cs
- PollingOutboxMessageRepository.cs
- PollingOutboxMessageRepositoryOptions.cs
- RegistrationExtensions.cs
- TransactionalOutbox.Infrastructure.csproj
- AccountIntegrationEvents.cs
- BalanceIntegrationEvents.cs
- TransactionalOutbox.IntegrationEvents.csproj
- launchSettings.json
- appsettings.Development.json
- appsettings.json
- MessageConsumingServiceOptions.cs
- MessageConsumingServiceWorker.cs
- Program.cs
- TransactionalOutbox.MessageConsumingService.csproj
- PollingPublisher.cs
- PollingPublisherOptions.cs
- TransactionalOutbox.Publisher.Polling.csproj
- README.md
- DeliveryServiceApi.cs
- WebHookApi.cs
- ApplicationServiceExtensions.cs
- DeliveryEvents.cs
- launchSettings.json
- ApiServices.cs
- appsettings.Development.json
- appsettings.json
- GlobalUsings.cs
- ISecretKeyService.cs
- Program.cs
- WebHook.DeliveryService.csproj
- WebHook.DeliveryService.http
- launchSettings.json
- appsettings.Development.json
- appsettings.json
- Program.cs
- WebHook.DeliveryService.DispatchService.csproj
- Worker.cs
- launchSettings.json
- appsettings.Development.json
- appsettings.json
- Program.cs
- WebHook.DeliveryService.EventConsumer.csproj
- WebHook.DeliveryService.EventConsumer.http
- DeliveryServiceDbContext.cs
- DeliveryServiceDbContextFactory.cs
- Delivery.cs
- DeliveryEventQueueItem.cs
- WebHookSubscription.cs
- 20250413173748_InitialCreate.cs
- 20250413173748_InitialCreate.Designer.cs
- DeliveryServiceDbContextModelSnapshot.cs
- WebHook.DeliveryService.Infrastructure.csproj
- README.md
- AppFixture.cs
- CQRSIntegrationTest.cs
- EventSourcingAccountServiceTest.cs
- Extensions.cs
- IntegrationTests.csproj
- SagaOnlineStoreIntegrationTest.cs
- SagaTripPlannerIntegrationTest.cs
- SagaTripPlannerServiceTest.cs
- InventoryApiTests.cs
- Saga.UnitTests.csproj
- FakeEventPublisher.cs
- TestHelpers.csproj
- .editorconfig
- .gitattributes
- .gitignore
- aspire-manifest.json
- aspire.config.json
- BUG_FIXES_SUMMARY.md
- CLAUDE.md
- CONTRIBUTING.md
- EDUCATIONAL_IMPROVEMENTS_SUMMARY.md
- LICENSE.txt
- MicroservicePatterns.slnx
- README.md
- REVIEW_SUMMARY.md
// repository documentation
Was this content helpful?
(0 ratings)
