-
Notifications
You must be signed in to change notification settings - Fork 0
⭐ Architecture Overview
The full 20-project target shape, why it's genuinely microservices and not a default choice, and exactly what's real today (✅-marked against the target layout) are covered in docs/architecturedesign.md, rather than repeated here.
The short version of "why microservices": genuinely different scaling/consistency needs per service (Catalog.API read-heavy, Basket.API Redis-backed ephemeral state, Ordering needs transactional consistency, OrderProcessor/PaymentProcessor are queue-driven background workers with no HTTP surface at all), event-driven integration through EventBus/EventBusRabbitMQ instead of direct service-to-service calls, and two frontends (WebApp — React, not upstream's Blazor, see docs/architecturedesign.md Section 9 for why — and ClientApp, native .NET MAUI) that target genuinely different platforms by construction, not by choice.
What's actually real right now, stated plainly: src/Shared/, EventBus, EventBusRabbitMQ, and eShop.ServiceDefaults are added and reviewed; IntegrationEventLogEF is in progress (5 of 7 source files); tests/eShop.ServiceDefaults.UnitTests exists too — see Testing. The other 16 projects, and build/, don't exist on disk yet. Migration order is foundation-first: shared/foundation projects, then domain APIs, then frontends, then eShop.AppHost (references everything, so it's deliberately last), then build/ — testing now happens alongside each project rather than batched at the end.