尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證Classroom chess tournament app — swiss pairing, live boards, casual 1v1
翻譯準備中
取自儲存庫 README
正在載入完整 README。
檢視完整 README ↗A big-screen classroom chess tournament for ungdomsskole. A live Swiss league
(3–7 rounds) with an optional knockout playoff, plus a knockout-only "cup"
format. Students join with a PIN; the organiser runs a projector "storskjerm" (big screen) —
lobby, live standings, bracket, podium, full results with print/PDF export,
and a private note-to-self. Outside a tournament, /solo has an 18-lesson
"Lær sjakk" coach curriculum plus a bot to practice against, and /versus is
a same-device two-player board with no tournament at all. Part of the
SundaySuite, deployed at chess.sundaysuite.app.
The chess rules are server-authoritative: the client only sends a move
intent; the server replays it with chess.js against the stored FEN, commits
atomically, and broadcasts the new position. Whose turn it is is server state,
never negotiated between clients.
/api/*)npm install
cp .env.example .env.local # fill in Supabase keys (see docs/RIG-TEST.md)
npm run dev # http://localhost:3000
Quality gate (run before committing):
npm run test # Vitest — pure logic + route integration
npm run typecheck # tsc --noEmit
npm run lint # eslint
npm run build # next build
lib/chess/ — validateMove (apply/legality), lastMovelib/tournament/ — pair (Swiss), score (Buchholz/standings), bracketlib/server/ — store (DB), league / playoff (engines), auth,
broadcast, gameEvents, httpapp/host/ — organiser: wizard, lobby, league board, bracket, podiumapp/play/ — student: join/resume, waiting room, playable boardsupabase/migrations/ — 0001_schema (tables + RLS), 0002_move_apply
(atomic apply_move / resolve_game RPCs)Phases 0–7 are code-complete with unit + route tests green and the app building. Live verification (realtime against a real Supabase project, a full two-browser game, the Cloudflare deploy) is the rig-test — see docs/RIG-TEST.md. Deploy steps in docs/DEPLOY.md; scope/decisions in docs/COMPLETION.md.