Technical Documentation
For the high-level system overview — request lifecycle diagrams, how the subsystems compose, and a reading order for new contributors — start at Architecture.
The pages below go deeper on individual subsystems.
API and Domain
Section titled “API and Domain”- Dual Controller Pattern — OData reads + LiteBus-backed write controllers, and the
AllowedQueryOptionsignore-list footgun. - CQRS Flow with LiteBus — commands, events, transaction boundaries, telemetry; full
POST /Schemesend-to-end trace. - Entity Identifiers — the encoded
Idscheme: why integer PKs aren’t exposed, how the encoding works, and how it maps back to FKs. - JSON Patch — RFC 6902 partial updates, and how nested
/Address/Idpaths becomeAddressIdFK writes on the backend. - EF Core Interceptors — audit, soft-delete, enum-cache hooks attached to
SaveChanges. - Search — full-text search pipeline.
- OData — query composition reference.
- Query Views — the
[query].*Listdenormalised read model, write-path upsert fan-out, rebuild job. - Database Schema — core tables and relationships.
- Geometry — NetTopologySuite + spatial indexes.
Frontend
Section titled “Frontend”- State Management — Svelte 5 runes, OData stores, global stores.
- Component Patterns — forms, edit flows, save-button state, composables.
Infrastructure
Section titled “Infrastructure”- Deployment Topology — Azure Container Apps layout, Bicep modules, managed identities, Key Vault.
- Background Jobs — the five Container App Jobs: load, completeness-score, query-view rebuild, currency import, duplicate detection.
- Deployment — environments, deploy workflow overview.
- CI/CD — pipeline detail.