Commit Graph

27 Commits

Author SHA1 Message Date
Michess
536160bba6 feat(elo): add ELO rating system
- DB: elo column on user table (default 1200, added via ALTER TABLE IF NOT EXISTS)
- ELO calculated after every game save (K=32, min 100)
- Bots use their fixed ELO values; only human players' ELO changes
- AI page games save with bot name (e.g. 'Holzpferd Heinz') instead of 'Stockfish'
- User profile shows ELO badge below name
- Header shows current ELO for logged-in users (links to profile)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-15 07:32:57 +02:00
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
Michess
0cc5a8e99c fix(ai): fix database model mapping for AI matches and missing AI names 2026-04-13 15:06:45 +02:00
Michess
694177c108 feat: Vollständiges Rebranding zu MiChess, Copyright Tom Misch
- Alle @chessu/ → @michess/ (Package-Namen und Imports)
- Theme-Namen chessuDark/Light → michessDark/Light
- Alle Display-Texte: chessu/Michess → MiChess
- Autor: dotnize → Tom Misch
- Copyright: Nathaniel Tampus → Tom Misch
- README komplett neu (Deutsch, MiChess-spezifisch)
- CONTRIBUTING.md neu
- FUNDING.yml + CODE_OF_CONDUCT.md entfernt
- Fork-Hinweis auf chessu bleibt im README erhalten (MIT-Pflicht)
- pnpm-lock.yaml entfernt (wird beim Build neu generiert)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-13 10:47:16 +02:00
Michess
b79a442b0c fix: TypeScript-Fehler behoben (stockfish types, null-Typ) 2026-04-13 10:30:54 +02:00
Michess
7dac042d73 feat: Michess – Initiales Setup auf Basis von chessu
- Rebranding: chessu → Michess (Header, Footer, Metadata, Session-Cookie)
- Stockfish KI-Integration: 6 Schwierigkeitsgrade (Anfänger bis Meister)
- Admin-Panel: Nutzerverwaltung, Sperren/Entsperren, Git-Pull-Update
- Freundessystem: Anfragen, Freundesliste, Nutzersuche
- DB-Schema: role, banned, friend_request, friendship Tabellen
- Docker: NAS-optimiertes docker-compose.yml mit PostgreSQL Healthcheck
- Stockfish binary via apk im Alpine-Image installiert
- .env.example für einfaches Deployment
- scripts/update.sh für manuelles NAS-Update
- Brain.md + Plan.md als Projekt-Gedächtnis

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-13 10:02:52 +02:00
Nathaniel Tampus
2238038c95 update eslint configs 2023-07-27 15:02:34 +08:00
Nathaniel Tampus
ee5c5d37a4 remove unused update query from game model 2023-05-06 20:23:58 +08:00
Nathaniel Tampus
da7b4c40a3 organize imports 2023-05-01 15:15:49 +08:00
Nathaniel Tampus
3f851602ea add started & ended timestamps to game table 2023-04-05 21:50:34 +08:00
Nathaniel Tampus
577cba6ff4 count game history stats for users 2023-04-02 18:24:21 +08:00
Nathaniel Tampus
ec05a7405f update game queries 2023-04-02 17:37:02 +08:00
Nathaniel Tampus
fc2f61446d remove code from game db 2023-04-02 15:01:30 +08:00
Nathaniel Tampus
f18d6d1e8c update game queries 2023-04-02 15:01:11 +08:00
Nathaniel Tampus
5088e25769 route for fetching finished games 2023-04-01 23:42:33 +08:00
Nathaniel Tampus
710955b741 return null if no user found 2023-04-01 23:41:47 +08:00
Nathaniel Tampus
af25b4ff20 update db models 2023-04-01 23:15:54 +08:00
Nathaniel Tampus
97b750fec4 es6-string-html extension highlighting 2023-04-01 22:49:33 +08:00
Nathaniel Tampus
a8bfe0abdc store winner side only, remove redundant reference 2023-04-01 20:59:25 +08:00
Nathaniel Tampus
10ed00ebc0 update game model & types 2023-03-25 19:17:49 +08:00
Nathaniel Tampus
ee8f9a58fd use default import for user model 2023-03-25 19:13:00 +08:00
Nathaniel Tampus
76b0d142cb update user db queries 2023-03-19 20:52:04 +08:00
Nathaniel Tampus
42dc24a9bc init db on server startup 2023-03-19 20:44:01 +08:00
Nathaniel Tampus
96a262ec29 minor cleanup 2023-03-19 20:43:00 +08:00
Nathaniel Tampus
44d460bbec remove winner field from db 2023-03-01 22:45:17 +08:00
Nathaniel Tampus
bd39cf8c46 npm workspaces, NodeNext for server 2023-02-05 13:49:40 +08:00
Nathaniel Tampus
17ce3cf4c4 move to public repo 2023-01-03 15:47:30 +08:00