Skip to content

⭐ Architecture Overview

Terrence Daniels edited this page Aug 24, 2026 · 5 revisions

The full 21-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 browser/mobile-facing frontends (WebApp and Identity.WebApp — both React, not upstream's Blazor / server-rendered Razor, see docs/architecturedesign.md Section 9 for why — and ClientApp, native .NET MAUI) that target genuinely different platforms and concerns by construction, not by choice.

What's actually real right now, stated plainly: src/Shared/, EventBus, EventBusRabbitMQ, eShop.ServiceDefaults, and IntegrationEventLogEF are added and reviewed — all four also have complete test coverage now (83 passing tests total) — see Testing. Identity.API is in progress: Models/Configuration/Data and 5 of 6 Quickstart areas (Home/Grants/Diagnostics/Consent/Device) are done — converted straight to a JSON API rather than added as Razor UI first, a 2026-08-24 pivot to avoid doing the work twice once Identity.WebApp starts consuming it. The other 15 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.

Clone this wiki locally