Michess aeb5fe313e feat: add time controls, correspondence games, and tournament mode
**Zeitmodi (Blitz/Rapid):**
- 5, 10, 30 Min Zeitkontrolle bei Spielerstellung
- Server-seitige Uhren: Zeit wird bei jedem Zug abgezogen
- Timeout-Erkennung via claimTimeout Socket-Event
- Schachuhr-Anzeige in GamePage (rot bei < 30s)
- Turnierspiele erhalten automatisch Zeitkontrolle

**Tagespartien (Correspondence):**
- Neue DB-Tabelle correspondence_game
- REST API: erstellen, beitreten, Zug machen, aufgeben
- Seite /correspondence: Liste aktiver Tagespartien
- Seite /correspondence/[code]: Spielen mit interaktivem Brett
- Einladungslink teilen, Gegner tritt via Link bei

**Turniermodus (Round-Robin):**
- Neue DB-Tabellen: tournament, tournament_player, tournament_round
- Round-Robin Paarungen mit Circle-Methode
- Turnier erstellen: /tournament/create
- Turnierliste: /tournament
- Turnierseite /tournament/[code]: Standings, Runden, Spiele
- Automatische Aktivisierung der nächsten Runde
- Turnierspiele werden als normale activeGames erstellt
- Ergebnisse aktualisieren Punkte automatisch

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-14 09:44:35 +02:00
2023-05-10 22:28:57 +08:00
2023-01-03 15:47:30 +08:00
2023-08-16 13:19:14 +08:00
2023-07-27 16:28:10 +08:00

MiChess

Eine selbst-gehostete Schachplattform, inspiriert von Lichess.org. Läuft als Docker-Container auf einer NAS — lokal, privat, ohne Cloud.

Basiert auf chessu (MIT) von dotnize — vielen Dank für die solide Basis.

Features

  • Echtzeit-Multiplayer (Spieler vs. Spieler)
  • Stockfish KI in 6 Schwierigkeitsgraden (Anfänger bis Meister)
  • Nutzeraccounts mit E-Mail & Passwort
  • Freundessystem mit Anfragen und Freundesliste
  • Admin-Panel: Nutzerverwaltung, Sperren/Entsperren, Git-Update per Knopfdruck
  • Spielarchiv & Statistiken
  • Zuschauer & Chat
  • Mobil-optimiert

Tech Stack

Next.js 14 · Tailwind CSS · daisyUI · react-chessboard · chess.js · Express.js · Socket.io · PostgreSQL · TypeScript · Docker

Deployment (NAS / Docker)

# 1. Repository klonen
git clone https://git.mischlabs.de/MrDiderot/MiChess.git michess
cd michess

# 2. Konfiguration anpassen
cp .env.example .env
nano .env   # Passwörter, ADMIN_EMAIL etc. setzen

# 3. Starten
docker compose up -d --build

Frontend: http://deine-nas-ip:3000 Backend API: http://deine-nas-ip:3001

Update

# Manuell via Script
./scripts/update.sh

# Oder im Admin-Panel → "Jetzt aktualisieren"

Entwicklung (lokal)

pnpm install
pnpm dev

Lizenz

MIT · Copyright © 2024-present Tom Misch

Description
No description provided
Readme MIT 1.4 MiB
Languages
TypeScript 98.4%
JavaScript 0.9%
Dockerfile 0.4%
Shell 0.2%