Files

54 lines
2.1 KiB
PowerShell

# Start MinAttest Development Environment (Windows)
Write-Host "🚀 Starting MinAttest Development Environment..." -ForegroundColor Cyan
# Function to check if a port is in use
function Test-PortInUse {
param (
[int]$Port
)
$tcpConnection = Get-NetTCPConnection -LocalPort $Port -ErrorAction SilentlyContinue
return $tcpConnection -ne $null
}
# 1. Start Backend (Aspire AppHost) - Port 7172
if (Test-PortInUse -Port 7172) {
Write-Host "✅ Backend (API) is already running on port 7172." -ForegroundColor Green
} else {
Write-Host "🚀 Starting Backend (Aspire AppHost)..." -ForegroundColor Yellow
Start-Process -FilePath "dotnet" -ArgumentList "run --project backend/MinAttest.AppHost/MinAttest.AppHost.csproj" -NoNewWindow
# Wait loop (simple pause as checking port immediately might be flaky during startup)
Start-Sleep -Seconds 5
}
# 2. Start BFF (Reverse Proxy) - Port 10001
if (Test-PortInUse -Port 10001) {
Write-Host "✅ BFF is already running on port 10001." -ForegroundColor Green
} else {
Write-Host "🚀 Starting BFF..." -ForegroundColor Yellow
Start-Process -FilePath "dotnet" -ArgumentList "run --project frontend/minattest-app-host/minattest-app-host.csproj" -NoNewWindow
Start-Sleep -Seconds 2
}
# 3. Start Frontend (Vite) - Port 5173
if (Test-PortInUse -Port 5173) {
Write-Host "✅ Frontend is already running on port 5173." -ForegroundColor Green
} else {
Write-Host "🚀 Starting Frontend..." -ForegroundColor Yellow
Set-Location "frontend/minattest-app"
if (-not (Test-Path "node_modules")) {
Write-Host "📦 Installing dependencies..." -ForegroundColor Yellow
Start-Process -FilePath "npm" -ArgumentList "install" -NoNewWindow -Wait
}
Start-Process -FilePath "npm" -ArgumentList "run dev" -NoNewWindow
Set-Location "../.."
}
Write-Host "✨ All services are starting up!" -ForegroundColor Cyan
Write-Host " - Backend API: https://localhost:7172"
Write-Host " - BFF: https://localhost:10001"
Write-Host " - Frontend: http://localhost:5173"