Architecture
Multi-Tenant Clean Architecture Backend
Backend ArchitectThis is the core backend architecture case study: maintainable boundaries, auditability, extensibility, and production-grade .NET delivery.

Problem and Context
- A multi-tenant product needed strict tenant isolation while preserving a shared architecture model.
- Governance workflows required auditable changes and metadata-driven API surfaces for varied modules.
Built
- Tenant-aware base entities, soft delete, history tracking, and domain-event dispatch.
- Metadata-driven APIs for dynamic grids, schema discovery, enum discovery, and consistent envelopes.
- Strategy-based corporate action engine for mergers, divestitures, JVs, and hierarchy changes.
Architecture
- Clean Architecture boundaries with DI-only coupling.
- Central MediatR behaviors and EF interceptors for cross-cutting concerns.
- Cloud-ready abstractions for Azure SQL, Blob Storage, OpenAI, email, SMS, and geocoding.
Integrations
- Azure SQL, Blob Storage, OpenAI, email, SMS, and geocoding adapters.
- Metadata-driven APIs for dynamic grids and schema discovery.
Reliability, Security, and Operations
- EF interceptors for audit/history/soft delete and domain-event dispatch.
- NUnit/Testcontainers/Respawn coverage for persistence and transactional behavior.
Operations
- GitHub Actions deployment to Azure App Service.
- Warning-as-error builds and test suites with NUnit, Testcontainers, and Respawn.
- Reusable transactional handlers and generated clients for delivery consistency.
Technology Stack
.NET 9Clean ArchitectureCQRS/MediatREF CoreAzure