Mock SaaS Sprint Tracker — deployed on EKS via GitOps (ArgoCD + GitHub Actions).
| Service | Tech | Port | Description |
|---|---|---|---|
| frontend | Nginx + HTML | 80 | Dashboard UI |
| backend-api | Node.js + Express | 3000 | REST API (sprints, tasks, velocity) |
| worker | Node.js | — | Async job processor (Redis queue) |
| redis-cache | Redis 7.2 | 6379 | Cache + job queue |
| postgres | PostgreSQL 14 | 5432 | Persistent storage |
docker-compose up --buildVisit: http://localhost
sprintforge/
├── frontend/ # Nginx + dashboard UI
│ ├── src/index.html
│ ├── nginx.conf
│ └── Dockerfile
├── backend-api/ # Node.js REST API
│ ├── src/index.js
│ ├── package.json
│ ├── .env.example
│ └── Dockerfile
├── worker/ # Async background worker
│ ├── src/index.js
│ ├── package.json
│ ├── .env.example
│ └── Dockerfile
├── redis-config/ # Redis config (mount as ConfigMap)
│ └── redis.conf
├── postgres-init/ # DB schema + seed (auto-runs on first boot)
│ └── 01-init.sql
├── docker-compose.yml # Local dev only
└── .gitignore
Built and pushed via GitHub Actions CI:
ghcr.io/<your-org>/sprintforge-frontend:latest
ghcr.io/<your-org>/sprintforge-backend-api:latest
ghcr.io/<your-org>/sprintforge-worker:latest