Appearance
Microtec Platform — Overview
Welcome to the Microtec Platform Documentation hub. This site is the single source of truth for every engineer, operator, and stakeholder working on or with the Microtec ERP ecosystem.
What Is Microtec ERP?
Microtec ERP is a cloud-native, multi-tenant enterprise SaaS platform designed for mid-to-large businesses in the MENA region. It delivers an integrated suite of business modules — accounting, inventory, HR, sales, purchase, distribution, and finance — accessible through a unified Angular-based micro-frontend shell, native mobile apps, and a dedicated BusinessOwner portal for tenant administration.
Multi-Tenancy Model
Each tenant operates in complete data isolation using the database-per-tenant strategy. A tenant's subdomain resolves to a dedicated SQL Server database; no cross-tenant data leakage is architecturally possible.
Three Main Products
| Product | Description | Primary Users |
|---|---|---|
| ERP Platform | Full-suite ERP with 10+ modules, Angular micro-frontend, 13 backend microservices on Azure Container Apps | ERP end-users, tenant admins |
| BusinessOwner Portal | Multi-tenant administration portal for creating tenants, managing subscriptions, and configuring platform settings | Super admins, tenant onboarding teams |
| Fooj Project | A separate, simpler SaaS product on its own Azure subscription (f2340b90-2a00-4551-aabc-6e1776e82077), sharing DevSecOps tooling with ERP | Fooj end-users, Fooj dev team |
Platform at a Glance
| Dimension | Value |
|---|---|
| Backend microservices | 13 (.NET 8, Azure Container Apps) |
| Frontend apps | 13 (Angular 17/20, Nx, Module Federation) |
| Mobile apps | 3 (Flutter: BO, ERP, Van Sales) |
| Environments | 5 (dev · stage · preprod · uat · production) |
| Shared NuGet packages | 16 (private Azure DevOps feed) |
| Keycloak realms | 2 (microtec for ERP, businessowner for BO portal) |
| Auth provider | Keycloak (self-hosted, Azure Container Apps) |
| Primary cloud | Microsoft Azure (UK South region) |
| On-prem servers | 5 (build agents × 3, VIP, AI/SonarQube) |
User Personas
This documentation addresses the following roles. Each section is annotated with the audience it primarily serves.
| Persona | Abbreviation | Primary Concerns |
|---|---|---|
| Backend Developer | BE-DEV | Clean Architecture, CQRS, EF Core, service APIs, NuGet packages |
| Frontend Developer | FE-DEV | Angular MFE, Module Federation, NgRx, shared libraries, i18n |
| Mobile Developer | MOB-DEV | Flutter workspaces, Melos, API clients, design system |
| DevOps Engineer | DEVOPS | CI/CD pipelines, Azure Bicep, CAE config, Docker, secrets |
| DevSecOps Engineer | DEVSECOPS | SonarCloud, Trivy, Gitleaks, OWASP, SBOM, AI code review |
| Cloud Architect | ARCH | ADRs, system design, service topology, networking, scaling |
| Site Reliability Engineer | SRE | Runbooks, observability, health checks, incident response |
| QA Engineer | QA | Test environments, DAST (OWASP ZAP), UAT promotion |
| Security Engineer | SEC | Auth flows, JWT claims, Key Vault, secret rotation, NSGs |
| Product Owner | PO | Feature pipelines, environment promotion, release readiness |
| New Joiner | NEW | Onboarding checklists, local dev setup, access matrix |
| Management | MGT | Platform overview, cost summary, SLA, audit trails |
Documentation Sections
Use the grid below to jump directly to any section.
:material-magnify: Overview Platform description, personas, glossary, tech stack, system landscape
:material-layers: Architecture Clean Architecture, CQRS, multi-tenancy, event-driven design, micro-frontend
:material-server: Backend Services All 13 microservices, coding conventions, CQRS patterns, API design
:material-monitor-dashboard: Frontend Angular MFE roster, Module Federation, auth, state management, builds
:material-cellphone: Mobile BO app, ERP app, Van Sales, Flutter workspace setup, releases
:material-lock: Keycloak & Auth Custom SPIs, realm configuration, flow priorities, session limiting
:material-cloud: Infrastructure Azure resources, Bicep modules, CAE, naming conventions, ACR
:material-pipe: CI/CD Pipelines Pipeline orchestrators, stage templates, branch-env mapping, scripts
:material-shield-check: DevSecOps SonarCloud, Gitleaks, Trivy, OWASP ZAP, SBOM, AI code review
:material-earth: Environments Dev, stage, preprod, UAT, production — config, URLs, credentials approach
:material-lan: Networking VNet CIDRs, NSG rules, private endpoints, private DNS, AFD routing
:material-chart-line: Observability Seq, OpenTelemetry, Application Insights, health checks, alerting
:material-database: Data & Databases SQL Server per-tenant, MongoDB, Redis, EF Core patterns, backup
:material-key: Authentication Dual-token design, JWT claims, RBAC, Keycloak realms
:material-api: API Reference Gateway routes, endpoint naming, request/response envelope, rate limiting
:material-package-variant: Shared Packages NuGet catalog, dependency hierarchy, setup, migration, ZATCA
:material-folder-star: Fooj Project Fooj architecture, infrastructure, environments, CI/CD, shared egress
:material-file-document: Architecture Decisions ADR-001 through ADR-009 — key technology choices and rationale
:material-book-open: Runbooks Step-by-step operational procedures for deployments, incidents, rotation
:material-human-greeting: Onboarding New developer checklist, access matrix, local dev setup per role
:material-tag: Technology Catalog Full inventory of every tool and library with version and purpose
:material-graph: Diagrams Service topology, network topology, CI/CD flow, auth flow, data flow
How to Use This Documentation
Start Here Based on Your Role
- New to the platform? → Read Onboarding first, then return here.
- Backend dev? → Architecture / Clean Architecture → Backend Services.
- DevOps? → Infrastructure → CI/CD Pipelines → Environments.
- Debugging an incident? → Runbooks / Incident Response.
Living Documentation
This documentation is maintained alongside the codebase. If you find something outdated, raise an issue in Azure DevOps or update the relevant .md file in DevopsDocs/docs/.
Key Repositories
| Repository | Description |
|---|---|
Platforms/ | Backend .NET 8 microservices (Clean Architecture) |
FrontApps/ | Angular 17/20 micro-frontend (Nx workspace) |
BoMobileApp/ | Flutter Business Owner mobile app |
ERPMobileApps/ | Flutter ERP mobile app |
VanSalesMobileApp/ | Flutter Van Sales mobile app |
WorkflowDesigner/ | Blazor workflow engine |
KeycloakProviders/ | Custom Keycloak SPI extensions |
Devops/azure/ | Azure Bicep IaC + ADO pipeline YAML |
Devops/onprem/ | On-premises Docker Compose stack |
InfrastructureServices/ | Cross-cutting microservices (Attachment, Notification, etc.) |
ScrumAutomation/ | Azure Functions for ADO board automation |