**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>
60 lines
1.3 KiB
Markdown
60 lines
1.3 KiB
Markdown
# MiChess
|
|
|
|
Eine selbst-gehostete Schachplattform, inspiriert von Lichess.org.
|
|
Läuft als Docker-Container auf einer NAS — lokal, privat, ohne Cloud!
|
|
|
|
> Basiert auf [chessu](https://github.com/dotnize/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)
|
|
|
|
```bash
|
|
# 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
|
|
|
|
```bash
|
|
# Manuell via Script
|
|
./scripts/update.sh
|
|
|
|
# Oder im Admin-Panel → "Jetzt aktualisieren"
|
|
```
|
|
|
|
## Entwicklung (lokal)
|
|
|
|
```bash
|
|
pnpm install
|
|
pnpm dev
|
|
```
|
|
|
|
## Lizenz
|
|
|
|
[MIT](./LICENSE) · Copyright © 2024-present Tom Misch
|