Skip to content

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.x
powershell
# 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.Git

Step 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 --recursive

Step 4 — Configure NuGet for Private Feed

[ACTION] This step is required before any dotnet build or dotnet restore will succeed.

Follow the instructions in:

Platforms/Solution Items/NUGET-SETUP.md

The 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 ps

Expected running services:

ContainerPortPurpose
sql-server1433SQL Server 2022
rabbitmq5672 / 15672Message broker + management UI
redis6379Distributed cache
seq1234Structured log viewer
otel-collector4317 / 4318OpenTelemetry 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: 200

Step 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.sh

Step 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:all starts 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

AppPortStart Command
business-owners4301npm run start:bussiness-owners
erp-home4401npm run start:erp
apps-accounting4402npm run start:accounting
apps-hr4403npm run start:hr
apps-inventory4407npm 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/guest

Day 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

ProblemSolution
dotnet restore fails with 401NuGet PAT expired or not configured — redo Step 4
Docker containers exit immediatelyNot enough RAM — allocate at least 8 GB to Docker Desktop
npm i fails with peer dependency errorUse npm i --f (force flag)
Git submodules are emptyRun git submodule update --init --recursive
az login failsCheck VPN — corporate proxy may block Azure CLI
SQL connection refusedDocker not started — run docker-compose up -d in dev/

Getting Help

  • Slack/Teams: #erp-dev channel
  • Azure DevOps Wiki: Search for the topic
  • This docs site: Use Ctrl+K to search
  • Your buddy: Every new team member is assigned an onboarding buddy — ask them first

Internal Documentation — Microtec Platform Team