Solution Architecture

This diagram reflects the layered architecture and project structure defined in docs/architecture-foundation.md.

flowchart TB subgraph Presentation[Presentation Layer] Server(Server: Blazor Server + API) WASM(WASM: Blazor WebAssembly CE) SharedUI(SharedUI RCL) end subgraph API[API / Endpoints] Endpoints(Minimal APIs) end subgraph Application[Application Services] TicketService OrderService UserService EventService end subgraph Domain[Domain Models] Ticket Order Event User end subgraph Infrastructure[Infrastructure & Integrations] TicketRepo OrderRepo EventRepo UserRepo Messaging(ServiceBus) Payments(Stripe) Email(Mail) end subgraph Workers[Async / Functions] EmailFn(EmailFunction) TicketGen(TicketGenerator) PdfGen(PdfGenerator) QueueProc(QueueProcessor) end subgraph SharedLibs[Shared Libraries] SharedBusiness SharedModels end Server --> Endpoints WASM --> Endpoints Server --> SharedUI WASM --> SharedUI Endpoints --> TicketService Endpoints --> OrderService Endpoints --> UserService Endpoints --> EventService TicketService --> TicketRepo OrderService --> OrderRepo EventService --> EventRepo UserService --> UserRepo TicketRepo --> Ticket OrderRepo --> Order EventRepo --> Event UserRepo --> User SharedBusiness --> TicketService SharedBusiness --> OrderService SharedBusiness --> EventService SharedBusiness --> UserService SharedModels --> SharedBusiness SharedModels --> Endpoints AppHost[(Aspire AppHost)] --> Server AppHost --> EmailFn AppHost --> QueueProc classDef layer fill:#0B7285,stroke:#03424d,stroke-width:1,color:#fff; class Presentation,API,Application,Domain,Infrastructure,Workers,SharedLibs layer;

Legend

Presentation: UI hosting (Server, WASM, Shared UI)

API: Minimal API endpoints mapped in Server

Application: Use case orchestration services

Domain: Core domain models and rules

Infrastructure: Repositories & external integrations

Workers: Async/background processing (Functions)

Shared Libraries: Cross‑cutting models & business logic

Version 1.4.0

An unhandled error has occurred. Reload đź—™