9 Commits

Author SHA1 Message Date
Nemo
0e3fc7362c fix: full schema reset on startup (DROP SCHEMA CASCADE) 2026-03-19 07:59:13 +08:00
Nemo
3e37633619 fix: drop+recreate DB schema on startup to clear old v1 tables 2026-03-19 07:51:12 +08:00
Nemo
4421f61c24 feat: Rebuild as Court Manager Dashboard v2
- Complete rewrite for single Court Manager user
- Feature 1: Player Management (CRUD, ELO, skill level)
- Feature 2: Court Reservation (timeline, override)
- Feature 3: Match Event Builder (3-step wizard)
  - Step 1: Event setup with player selection + stage calculator
  - Step 2: Stage configurator (Open/Skill/RR/Tournament)
  - Step 3: Auto bracket generation
- Feature 4: Live Court View (main dashboard, 2x2 grid)
- Event Control: score entry, bracket advancement, court assignment
- Screen view: TV display per court (/screen/:id)
- Seed: 8 players, 4 courts, 1 completed + 1 active event
- Routes: / players courts events events/new events/:id screen/:id
2026-03-19 07:35:51 +08:00
Forge
7a4c573d1c fix: screen uses court_number, seed resets sequences 2026-03-19 01:22:12 +08:00
Forge
1be2ba729e fix: timezone-aware datetime for elapsed timer in screen API 2026-03-19 01:17:45 +08:00
Forge
fe839cb6ae fix: add pgdata volume for persistence + fix seed path 2026-03-19 01:11:51 +08:00
Forge
a1faa9cf3a feat: add admin seed endpoint for demo data 2026-03-19 01:08:21 +08:00
Forge
011df19306 fix: use script file instead of heredoc in Dockerfile 2026-03-19 01:02:21 +08:00
Forge
46fd2953c3 🏓 Initial ServeSync demo build
- FastAPI backend with PostgreSQL + Redis
- 4 core features: Registration, Courts, Matchmaking, Tournament
- Double elimination tournament with bracket visualization
- ELO-based matchmaking (Stage 1 Open, Stage 2 Skill-Based)
- Real-time WebSocket updates
- TV Screen display for courts
- Vue 3 + Tailwind CSS frontend
- Seed data: 12 players, 4 courts, active matches, tournament in progress
- Docker compose stack with Nginx reverse proxy
2026-03-19 00:58:17 +08:00