Architecture
C4 diagrams, Clean Architecture, CQRS patterns, service communication, multi-tenancy
Enterprise documentation covering ERP, infrastructure, CI/CD, security, and all platform services.
| Dimension | Detail |
|---|---|
| Backend microservices (.NET 8) | 13 |
| Frontend apps (Angular / Blazor) | 13 |
| Mobile apps (Flutter) | 3 |
| Shared NuGet packages | 16 |
| Azure environments | 5 (dev, stage, preprod, uat, production) |
| CI/CD pipeline orchestrators | 6 |
| Keycloak custom SPIs | 7 |
| DevSecOps pipeline stages | 16 |
| Environment | VNet CIDR | Domain | Key Vault |
|---|---|---|---|
| dev | 10.0.0.0/16 | microtec-test.com | mic-erp-be-dev-skv |
| stage | 10.1.0.0/16 | microtecstage.com | mic-erp-stg-kv |
| preprod | 10.6.0.0/16 | (preprod domain) | mic-erp-be-preprod-skv |
| uat | 10.5.0.0/16 | microtec-uat.com | mic-erp-uat-kv |
| production | 10.2.0.0/16 | onlinemicrotec.com.sa | (prod kv) |
Preprod VNet CIDR: Some older documentation shows
10.3.0.0/16— the correct value is10.6.0.0/16.
MonogoDbtypo is INTENTIONAL — The NuGet package readsMonogoDb__ConnectionString(not MongoDB). This typo is baked into the package. Do NOT fix it — it is a breaking change.
DataProtection Keys — Encrypted connection strings using DataProtection are machine-specific. They cannot be decrypted on a different server.
NuGet Feed Auth — Backend builds require Azure DevOps NuGet feed auth. Pipelines use
$(System.AccessToken)— no manual PAT needed.