Spring Boot 4 (Java 21) + Angular 21 + PostgreSQL + Valkey + Azure Blob Storage
- Java 21 (install via SDKMAN:
sdk install java 21-tem) - Node.js 22+ and npm
- Docker and Docker Compose
- Angular CLI:
npm install -g @angular/cli@21
docker compose up -dThis starts PostgreSQL (port 5433), Valkey (port 6379), and Azurite (ports 10010-10012).
cd backend
./gradlew bootRun --args='--spring.profiles.active=dev'The backend starts on http://localhost:8081.
cd frontend
ng serveThe frontend starts on http://localhost:4200 with a proxy to the backend.
- Backend health: http://localhost:8081/api/health
- Frontend: http://localhost:4200
backend/ — Spring Boot 4 (Gradle Kotlin DSL)
frontend/ — Angular 21 (standalone components, SCSS)
| Service | Host Port | Description |
|---|---|---|
| PostgreSQL | 5433 | Primary database |
| Valkey | 6379 | Cache (Redis-compatible) |
| Azurite | 10010-10012 | Azure Blob Storage emulator |