🏓 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
This commit is contained in:
Forge
2026-03-19 00:58:17 +08:00
commit 46fd2953c3
45 changed files with 4383 additions and 0 deletions

View File

@@ -0,0 +1,23 @@
import { createRouter, createWebHistory } from 'vue-router'
import Dashboard from '../views/Dashboard.vue'
import Courts from '../views/Courts.vue'
import Matchmaking from '../views/Matchmaking.vue'
import Tournament from '../views/Tournament.vue'
import ScreenDisplay from '../views/ScreenDisplay.vue'
import Players from '../views/Players.vue'
const routes = [
{ path: '/', name: 'Dashboard', component: Dashboard },
{ path: '/courts', name: 'Courts', component: Courts },
{ path: '/matchmaking', name: 'Matchmaking', component: Matchmaking },
{ path: '/tournament', name: 'Tournament', component: Tournament },
{ path: '/players', name: 'Players', component: Players },
{ path: '/screen/:courtId', name: 'Screen', component: ScreenDisplay },
]
const router = createRouter({
history: createWebHistory(),
routes,
})
export default router