Appearance
Welcome to Microtec ERP
This onboarding guide gets you productive on the Microtec ERP platform as quickly as possible.
Platform summary: Multi-tenant enterprise SaaS built on .NET 8 (Clean Architecture), Angular 17 (micro-frontend), Flutter (mobile), and Azure Container Apps (hosting).
Choose Your Path
Select the path that matches your role:
| Role | Start Here |
|---|---|
| All new team members | Day 1 Checklist |
| Backend (.NET) developer | Backend Onboarding |
| Frontend (Angular) developer | Frontend Onboarding |
| Mobile (Flutter) developer | See BoMobileApp/README.md or ERPMobileApps/README.md |
| DevOps / infrastructure | CI/CD Overview + Environments |
Prerequisites
Before your first day, make sure you have:
Access Requests (submit to your team lead)
- [ ] Azure DevOps — project:
ERP, access level: Contributor - [ ] VPN access — required for on-prem services and SQL Server
- [ ] GitHub access — for mobile app submodules (
MobileDesignSystem,MobileAPIClients,MobileSharedComp) - [ ] Keycloak admin — dev realm only (request separately for stage/prod)
- [ ] Seq logging — dev instance only
- [ ] Azure Portal — Reader on
mic-erp-be-dev-*resource groups
See Access Matrix for a full role-based access reference.
Local Machine Requirements
| Tool | Minimum Version | Download |
|---|---|---|
| .NET SDK | 8.0 | https://dotnet.microsoft.com/download |
| Node.js | 18.x LTS | https://nodejs.org |
| Docker Desktop | Latest | https://www.docker.com/products/docker-desktop |
| Git | 2.40+ | https://git-scm.com |
Azure CLI (az) | 2.50+ | https://learn.microsoft.com/en-us/cli/azure/install-azure-cli |
| Flutter SDK | 3.x | https://flutter.dev (mobile only) |
| JetBrains Rider or VS 2022 | Latest | https://www.jetbrains.com/rider |
Repository Map
All code lives in Azure DevOps under the microtec organisation:
| Repo | Description | Local Path |
|---|---|---|
Erp | Main monorepo (backend + frontend + infra) | ~/Projects/microtec/Erp |
Platforms | .NET 8 backend services (submodule) | Erp/Platforms/ |
MFE-Apps | Angular micro-frontends (submodule) | Erp/MFE-Apps/ |
InfrastructureServices | Cross-cutting .NET microservices (submodule) | Erp/InfrastructureServices/ |
KeycloakProviders | Custom Keycloak SPIs (submodule) | Erp/KeycloakProviders/ |
Devops | Azure DevOps pipelines + Bicep IaC | Erp/Devops/ |
MicrotecHR | HR module (separate repo) | Erp/Microtec%20HR/ |
MicrotecPackages | Shared NuGet packages source | Erp/Microtec%20Packages/ |
Clone with submodules
bash
git clone --recurse-submodules \
https://microtec@dev.azure.com/microtec/ERP/_git/Erp \
~/Projects/microtec/ErpPlatform Architecture at a Glance
Internet
└── Azure Front Door (WAF + CDN)
├── Angular MFE apps (Static Web Apps)
└── API Gateway (YARP)
├── Public CAE
│ ├── Gateway.API
│ └── Keycloak SSO
└── Private CAE (VNet-internal, mTLS)
├── AppsPortal.Apis
├── Inventory.Apis
├── BusinessOwners.Apis
├── HR.Apis
├── Attachment.Apis
├── Notification.Apis
├── Workflows.Apis
├── Template.Apis
├── Integration.Apis
└── Platforms.WorkerKey infrastructure:
- SQL Server: Shared VM (
mic-backend-shared-sql-rg), one database per tenant - Redis: Azure Managed Redis per environment
- Messaging: Azure Service Bus (prod), RabbitMQ (non-prod local dev)
- Secrets: Azure Key Vault per environment
Environment Domains
| Environment | Domain | Use |
|---|---|---|
| Local dev | localhost | Individual developer machines |
| Development | microtec-test.com | Shared dev environment |
| Stage | microtecstage.com | Pre-release validation |
| UAT | microtec-uat.com | Client acceptance testing |
| Production | onlinemicrotec.com.sa | Live production |
Key Documentation Links
| Topic | Document |
|---|---|
| Backend architecture | Platforms/CLAUDE.md |
| Frontend architecture | FrontApps/CLAUDE.md |
| Code style | Platforms/Solution Items/CodeStyle.md |
| Naming conventions | Platforms/Solution Items/NamingConventions.md |
| NuGet setup | Platforms/Solution Items/NUGET-SETUP.md |
| DevOps deployment guide | Devops/azure/DEPLOYMENT-GUIDE.md |
| Local dev quickstart | dev/QUICKSTART.md |
Quick Help
Stuck? Try these in order:
- Search this documentation site (
Ctrl+K) - Check the repo-level
CLAUDE.mdfile in the relevant sub-repo - Ask in the
#erp-devSlack/Teams channel - Escalate to your team lead
What's Next
After completing Day 1 setup:
- Read Architecture Overview
- Read Backend Tech Reference
- Walk through the Service Topology Diagram
- For deployments: read CI/CD Overview