Appearance
Day 1 Checklist
Complete these steps in order. By end of day 1 you should have the full dev stack running locally.
Estimated time: 3–4 hours (mostly waiting for downloads and builds)
Ask your team lead for: Azure DevOps invite, VPN credentials, NuGet PAT
Step 1 — Get Azure DevOps Access
Contact your team lead and ask for:
- [ ] Azure DevOps invitation to
https://dev.azure.com/microtec(project:ERP) - [ ] Access level: Contributor (needed to run pipelines)
- [ ] VPN credentials (required for on-prem services and SQL connectivity)
- [ ] NuGet Personal Access Token (PAT) for the private feed — or ask the lead to walk you through NUGET-SETUP.md
[INFO] Azure DevOps access may take up to 1 business day to provision. While waiting, proceed with the tool installation steps below.
Step 2 — Install Required Tools
bash
# macOS — using Homebrew
brew install git node@18 azure-cli
# Install .NET 8 SDK (Homebrew cask)
brew install --cask dotnet-sdk
# Docker Desktop
brew install --cask docker
# Verify installations
dotnet --version # Should print 8.0.x
node --version # Should print v18.x
az --version # Should print azure-cli 2.5x.x
docker --version # Should print Docker version 2x.x.xpowershell
# Windows — using winget
winget install Microsoft.DotNet.SDK.8
winget install OpenJS.NodeJS.LTS
winget install Microsoft.AzureCLI
winget install Docker.DockerDesktop
winget install Git.GitStep 3 — Clone All Repositories
bash
# [ACTION] Clone the main monorepo with all submodules
cd ~/Projects/microtec
git clone --recurse-submodules \
https://microtec@dev.azure.com/microtec/ERP/_git/Erp \
Erp
# [VERIFY] Submodule directories are populated
ls Erp/Platforms/Src/
# Should show: AppsPortal/ BusinessOwners/ InfrastructureServices/ Shared/ ...
ls Erp/MFE-Apps/projects/
# Should show: apps-accounting/ apps-hr/ apps-inventory/ ...If submodules are empty after cloning:
bash
cd ~/Projects/microtec/Erp
git submodule update --init --recursiveStep 4 — Configure NuGet for Private Feed
[ACTION] This step is required before any
dotnet buildordotnet restorewill succeed.
Follow the instructions in:
Platforms/Solution Items/NUGET-SETUP.mdThe key steps are:
bash
# 1. Add the Azure Artifacts feed as a NuGet source
dotnet nuget add source \
"https://pkgs.dev.azure.com/microtec/_packaging/Microtec/nuget/v3/index.json" \
--name "Microtec" \
--username "any" \
--password "YOUR_PAT_HERE" \
--store-password-in-clear-text
# 2. Verify the source was added
dotnet nuget list source
# Should show: Microtec [Enabled][WARNING] Never commit your PAT to source control. Store it in your OS credential manager or as an environment variable (
NUGET_PAT).
Step 5 — Start the Local Docker Dev Stack
bash
cd ~/Projects/microtec/Erp/dev
# [ACTION] Read the quickstart guide first
cat QUICKSTART.md
# [ACTION] Start all infrastructure services
docker-compose up -d
# [VERIFY] All containers are running
docker-compose psExpected running services:
| Container | Port | Purpose |
|---|---|---|
sql-server | 1433 | SQL Server 2022 |
rabbitmq | 5672 / 15672 | Message broker + management UI |
redis | 6379 | Distributed cache |
seq | 1234 | Structured log viewer |
otel-collector | 4317 / 4318 | OpenTelemetry collector |
bash
# [VERIFY] Services are accessible
curl -s http://localhost:15672 -o /dev/null -w "%{http_code}"
# Expected: 200
curl -s http://localhost:1234 -o /dev/null -w "%{http_code}"
# Expected: 200Step 6 — Build and Run the Backend
bash
cd ~/Projects/microtec/Erp/Platforms
# [ACTION] Restore and build the full solution
dotnet restore Microtec.Platforms.sln
dotnet build Microtec.Platforms.sln
# [VERIFY] Build succeeds with no errors
# Expected: Build succeeded. 0 Warning(s). 0 Error(s)[WARNING] Build errors at this stage almost always mean the NuGet feed is not configured correctly. Re-check Step 4.
Run a single service locally
bash
# Run the Accounting API
cd Platforms/Src/AppsPortal/Accounting/AppsPortal.Apis
dotnet run --launch-profile Development
# [VERIFY] API is running
curl -s http://localhost:5000/health | jq .status
# Expected: "Healthy"Use IDE launchers
bash
# JetBrains Rider
dev/START-WITH-RIDER.sh
# VS Code
dev/START-WITH-VSCODE.shStep 7 — Build and Run the Frontend
bash
cd ~/Projects/microtec/Erp/FrontApps
# [ACTION] Install dependencies (--f required for peer dependency conflicts)
npm i --f
# [ACTION] Start the Accounting app (fastest way to verify frontend works)
npm run start:accounting
# Browser opens at http://localhost:4402[INFO]
npm run start:allstarts all 10 Angular apps simultaneously. This requires ~32 GB RAM. On a developer machine, start only the app you're working on.
Frontend app ports
| App | Port | Start Command |
|---|---|---|
| business-owners | 4301 | npm run start:bussiness-owners |
| erp-home | 4401 | npm run start:erp |
| apps-accounting | 4402 | npm run start:accounting |
| apps-hr | 4403 | npm run start:hr |
| apps-inventory | 4407 | npm run start:inventory |
Step 8 — Verify Everything is Working
Run through this checklist to confirm your setup is complete:
bash
# [VERIFY] NuGet feed is authenticated
dotnet nuget list source | grep -i "microtec\|Enabled"
# [VERIFY] Docker services are running
docker ps --filter "status=running" | wc -l
# Expected: 5+ containers
# [VERIFY] Backend builds
cd ~/Projects/microtec/Erp/Platforms
dotnet build Microtec.Platforms.sln --no-restore | tail -5
# [VERIFY] Frontend installs
cd ~/Projects/microtec/Erp/FrontApps
npm ls --depth=0 2>/dev/null | head -5
# [VERIFY] Seq is accessible
open http://localhost:1234
# [VERIFY] RabbitMQ management is accessible
open http://localhost:15672 # Login: guest/guestDay 2 Goals
- [ ] Read Architecture Overview
- [ ] Read your role-specific onboarding doc (Backend or Frontend)
- [ ] Walk through an existing feature end-to-end in the codebase
- [ ] Make a small change, run tests, submit your first PR
Common Day 1 Issues
| Problem | Solution |
|---|---|
dotnet restore fails with 401 | NuGet PAT expired or not configured — redo Step 4 |
| Docker containers exit immediately | Not enough RAM — allocate at least 8 GB to Docker Desktop |
npm i fails with peer dependency error | Use npm i --f (force flag) |
| Git submodules are empty | Run git submodule update --init --recursive |
az login fails | Check VPN — corporate proxy may block Azure CLI |
| SQL connection refused | Docker not started — run docker-compose up -d in dev/ |
Getting Help
- Slack/Teams:
#erp-devchannel - Azure DevOps Wiki: Search for the topic
- This docs site: Use
Ctrl+Kto search - Your buddy: Every new team member is assigned an onboarding buddy — ask them first