Skip to content

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

ProductDescriptionPrimary Users
ERP PlatformFull-suite ERP with 10+ modules, Angular micro-frontend, 13 backend microservices on Azure Container AppsERP end-users, tenant admins
BusinessOwner PortalMulti-tenant administration portal for creating tenants, managing subscriptions, and configuring platform settingsSuper admins, tenant onboarding teams
Fooj ProjectA separate, simpler SaaS product on its own Azure subscription (f2340b90-2a00-4551-aabc-6e1776e82077), sharing DevSecOps tooling with ERPFooj end-users, Fooj dev team

Platform at a Glance

DimensionValue
Backend microservices13 (.NET 8, Azure Container Apps)
Frontend apps13 (Angular 17/20, Nx, Module Federation)
Mobile apps3 (Flutter: BO, ERP, Van Sales)
Environments5 (dev · stage · preprod · uat · production)
Shared NuGet packages16 (private Azure DevOps feed)
Keycloak realms2 (microtec for ERP, businessowner for BO portal)
Auth providerKeycloak (self-hosted, Azure Container Apps)
Primary cloudMicrosoft Azure (UK South region)
On-prem servers5 (build agents × 3, VIP, AI/SonarQube)

User Personas

This documentation addresses the following roles. Each section is annotated with the audience it primarily serves.

PersonaAbbreviationPrimary Concerns
Backend DeveloperBE-DEVClean Architecture, CQRS, EF Core, service APIs, NuGet packages
Frontend DeveloperFE-DEVAngular MFE, Module Federation, NgRx, shared libraries, i18n
Mobile DeveloperMOB-DEVFlutter workspaces, Melos, API clients, design system
DevOps EngineerDEVOPSCI/CD pipelines, Azure Bicep, CAE config, Docker, secrets
DevSecOps EngineerDEVSECOPSSonarCloud, Trivy, Gitleaks, OWASP, SBOM, AI code review
Cloud ArchitectARCHADRs, system design, service topology, networking, scaling
Site Reliability EngineerSRERunbooks, observability, health checks, incident response
QA EngineerQATest environments, DAST (OWASP ZAP), UAT promotion
Security EngineerSECAuth flows, JWT claims, Key Vault, secret rotation, NSGs
Product OwnerPOFeature pipelines, environment promotion, release readiness
New JoinerNEWOnboarding checklists, local dev setup, access matrix
ManagementMGTPlatform 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

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

RepositoryDescription
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

Internal Documentation — Microtec Platform Team