- Java 21
- Docker Desktop
- PowerShell 7+
- Node 22+
Ensure you have JDK 21 installed
java -versionCheck that JAVA_HOME is set correctly & points to your JDK 21 installation
echo $env:JAVA_HOMECheck that you have Powershell 7
$PSVersionTable.PSVersion.\Run-SystemTests.ps1This will:
- Build the Frontend (TypeScript compilation and bundling with Vite)
- Build the Backend (Java compilation and JAR creation)
- Start Docker containers (Frontend, Backend, PostgreSQL, & Mock External APIs)
- Wait for all services to be healthy
- Run all System Tests (API E2E, UI E2E, and Smoke Tests)
You can open these URLs in your browser:
- Frontend UI: http://localhost:3001
- Backend API: http://localhost:8081/api
- ERP API: http://localhost:9001/erp/health
- Tax API: http://localhost:9001/tax/health
Builds locally and runs all system tests:
.\Run-SystemTests.ps1
# or explicitly:
.\Run-SystemTests.ps1 localUses pre-built Docker images from registry:
.\Run-SystemTests.ps1 pipelineSkip build/start phases and just run tests (assumes services are already running):
.\Run-SystemTests.ps1 -TestOnlyNote: The -TestOnly flag skips the build, stop, start, and wait phases. Use it when services are already running and you just want to re-run the tests quickly.
You can also build components separately:
Backend:
cd backend
.\Build-Backend.ps1Frontend:
cd frontend
.\Build-Frontend.ps1For manual Docker management:
View Logs:
docker compose -f docker-compose.local.yml logs
# or for pipeline:
docker compose -f docker-compose.pipeline.yml logsStop Services:
docker compose -f docker-compose.local.yml down
# or for pipeline:
docker compose -f docker-compose.pipeline.yml downService URLs:
You can open these URLs in your browser:
- Frontend UI: http://localhost:3001
- Backend API: http://localhost:8081/api
- ERP API: http://localhost:9001/erp/health
- Tax API: http://localhost:9001/tax/health
- PostgreSQL Database: localhost:5401 (database:
eshop, user:eshop_user, password:eshop_password)
This project is released under the MIT License.