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