54 lines
2.1 KiB
PowerShell
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"
|