Skip to content

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.

  • Dual Controller Pattern — OData reads + LiteBus-backed write controllers, and the AllowedQueryOptions ignore-list footgun.
  • CQRS Flow with LiteBus — commands, events, transaction boundaries, telemetry; full POST /Schemes end-to-end trace.
  • Entity Identifiers — the encoded Id scheme: 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/Id paths become AddressId FK 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].*List denormalised read model, write-path upsert fan-out, rebuild job.
  • Database Schema — core tables and relationships.
  • Geometry — NetTopologySuite + spatial indexes.
  • 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.