Skip to content

⭐ Architecture Overview

Terrence Daniels edited this page Aug 14, 2026 · 6 revisions

The full 19-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 three frontends (WebApp Blazor, ClientApp .NET MAUI, HybridApp Blazor Hybrid) that target genuinely different platforms by construction, not by choice.

What's actually real right now, stated plainly: src/Shared/ (2 linked-source files, reviewed) and src/EventBus/EventBus.csproj (source files still pending). The other 18 projects, tests/, 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 tests//build/.

Clone this wiki locally