CoOp:Anything
Search any game and see how much of it you can play with friends: every co-op mod, its stage, quality and community rating.
Sjakkturnering på storskjerm med liga, sluttspill, lag og lynsjakk. Arrangøren styrer tavla, spillerne blir med med en PIN.
Translation pending
GamesTypeScript · CSSGitHub @richardfosslandOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Classroom chess tournament app — swiss pairing, live boards, casual 1v1
Translation pending
Taken from the repository README
Loading the full README.
Read the full 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.