2.0 KiB
2.0 KiB
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:
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)