docs: add PROGRESS.md with build summary
This commit is contained in:
53
PROGRESS.md
Normal file
53
PROGRESS.md
Normal file
@@ -0,0 +1,53 @@
|
||||
# ServeSync Demo — Build Complete ✅
|
||||
|
||||
**Completed by Forge on 2026-03-19**
|
||||
|
||||
## Live URLs
|
||||
- **App:** http://servesync-demo.juankibin.space (domain)
|
||||
- **Direct:** http://192.168.1.167:8092
|
||||
- **API Docs:** http://192.168.1.167:8092/api/docs (if enabled)
|
||||
- **Gitea:** http://192.168.1.159:3000/kibin/servesync-demo
|
||||
|
||||
## What's Built
|
||||
|
||||
### Backend (FastAPI + PostgreSQL + Redis)
|
||||
- `/api/players/` — Player profiles, ELO ratings, membership tiers
|
||||
- `/api/courts/` — Court management, booking, availability
|
||||
- `/api/matches/` — Full matchmaking system (open + skill-based)
|
||||
- `/api/tournaments/` — Double elimination tournament engine
|
||||
- `/api/screen/` — TV display API with real-time data
|
||||
- `/api/admin/seed` — POST to re-seed demo data
|
||||
- WebSocket endpoints: `/ws/court/{id}`, `/ws/overview`, `/ws/matches`
|
||||
|
||||
### Frontend (Vue 3 + Tailwind)
|
||||
- `/` Dashboard — Live court grid, leaderboard, tournament summary, quick actions
|
||||
- `/courts` — Court booking with time slot selection
|
||||
- `/matchmaking` — Stage 1 Open + Stage 2 Skill-Based lobby
|
||||
- `/tournament` — Full double elimination bracket viewer with score entry
|
||||
- `/players` — Player directory with tier/ELO display
|
||||
- `/screen/:courtId` — TV display mode (court 1-4 or overview)
|
||||
|
||||
### Seed Data
|
||||
- 12 demo players (Bronze→Elite, 850-1850 ELO)
|
||||
- 4 courts (2x Sport Court, 2x Cushioned Tournament Grade)
|
||||
- 3 active matches (Open, Skill-Based, Tournament)
|
||||
- 2 lobby matches
|
||||
- 1 in-progress tournament with full bracket
|
||||
|
||||
## Matchmaking Implementation
|
||||
- **Stage 1 Open:** Free join, no restrictions
|
||||
- **Stage 2 Skill-Based:** ELO ±200 constraint enforced
|
||||
- **Stage 3 Tournament:** Double elimination, winners/losers brackets, Grand Final
|
||||
- Auto-assigns available court when match starts
|
||||
- ELO updates calculated via standard K=32 formula
|
||||
|
||||
## Re-seeding
|
||||
If data gets stale or needs refresh:
|
||||
```bash
|
||||
curl -X POST http://192.168.1.167:8092/api/admin/seed
|
||||
```
|
||||
|
||||
## Infrastructure
|
||||
- Coolify App UUID: ycw8wg8gk08gwcwc8wwwwww8
|
||||
- Gitea webhook CI/CD: Active (pushes trigger auto-deploy)
|
||||
- DB volume: `pgdata` (persistent across deployments)
|
||||
Reference in New Issue
Block a user