Skip to main content

Architecture Overview

The Keller Postman platform is a multi-tenant, event-driven system built on Azure. It follows Domain-Driven Design with bounded contexts, CQRS, and an outbox pattern for reliable event delivery.

High-Level Topology

Frontend (React / Azure SWA)

BFF Layer (.NET / Azure Container Apps)

GraphQL Gateway (composition reads)

Domain APIs (.NET / Azure Container Apps)

Azure Service Bus (Dapr pub/sub)

Azure SQL / Cosmos DB

Key Design Decisions

  • Bounded contexts — each domain service owns its data and emits integration events; it never directly queries another service's database
  • Outbox pattern — domain events are persisted in the same transaction as the aggregate, then published asynchronously by a Quartz job
  • Multi-tenancy — tenant ID is resolved from HTTP headers and applied as a global query filter in EF Core
  • Auth — Azure AD (backend services) and Auth0 (BFF/frontend)

Service Map

This page is a stub. A full architecture diagram and per-service breakdown will be added here.