c7633f5c7f0d812f0a7796cfcc81da7a07512e87
Lara Kiesewetter – Live Schachturnier
Live-Überwachung von Lara Kiesewetters Partien bei der ODJM (Offene Deutsche Jugendmeisterschaft) 2026. Die App lädt automatisch PGN-Daten von der Deutschen Schachjugend, zeigt das aktuelle Spielbrett an und listet alle Partien von Lara.
Features
- Live-Brett – Visuelle Darstellung der aktuellen Partie mit chessboard.js
- Stockfish-Analyse – Bewertungsbalken (Eval-Bar) mit Live-Score in Bauerneinheiten, powered by Stockfish-Engine
- Spielerinfo – Anzeige von Namen, ELO und Schachuhr beider Spieler
- Zugliste – Alle Züge der aktuellen Partie mit Klick-Navigation und Pfeiltasten-Steuerung
- Alle Partien – Übersicht aller Runden mit Lara; Klick zum Wechseln
- Live-Erkennung – Automatische Erkennung laufender (unterminierter) Partien
- Turniertabelle – Tabellenplatz, Punkte, Siege/Unentschieden/Niederlagen von Lara
- Auto-Refresh – Aktualisiert die Daten alle 15 Sekunden (nur aktuelle Runden)
- Proxy-Server – Lokaler Python-Server mit Stockfish-Engine-Wrapper, PGN-Proxy und statischem File-Serving
Projektstruktur
├── index.html # HTML-Grundgerüst
├── style.css # Dark-Theme-Styling (responsive)
├── js/
│ ├── app.js # Event-Listener und Initialisierung
│ ├── state.js # Globaler Zustand (Variablen)
│ ├── board.js # Schachbrett-Rendering und Zug-Navigation
│ ├── data.js # PGN-Laden, Turniertabelle, Auto-Refresh
│ ├── evaluation.js # Stockfish-Analyse und Eval-Bar
│ ├── ui.js # UI-Rendering (Spielerinfo, Züge, PGN)
│ └── pgn-parser.js # PGN-Parser (Header + Züge extrahieren)
├── server.py # Lokaler Proxy-Server + Stockfish-Engine (Python 3)
├── cache/ # PGN- und Standings-Cache
└── stockfish.exe # Stockfish-Schachengine (Windows)
Setup
Voraussetzungen
- Python 3.6+ für den Proxy-Server
- Stockfish (optional, für Analyse) – auf Windows:
stockfish.exeim Projektverzeichnis - Browser (Chrome, Firefox, Edge)
Installation & Start
-
Proxy-Server starten:
python server.pyDer Server läuft auf
http://localhost:8111. -
Öffne die App im Browser:
http://localhost:8111(Der Server serviert auch die statischen Dateien.)
Technik
| Komponente | Technologie |
|---|---|
| Schachbrett | chessboard.js |
| Schachlogik | chess.js |
| Stockfish-Analyse | Stockfish Engine (lokal, via POST /evaluate) |
| UI | HTML, CSS, Vanilla JS, jQuery |
| Proxy-Server | Python http.server (subprocess, threading, NDJSON-Streaming) |
| PGN-Quelle | deutsche-schachjugend.de (ODJM 2026) |
Deployment
Die Anwendung kann als eigenständiger Server betrieben werden.
Produktivbetrieb (systemd – Linux)
# Service-Datei erstellen
sudo tee /etc/systemd/system/lara-chess.service <<EOF
[Unit]
Description=Lara Kiesewetter Live Schachturnier
After=network.target
[Service]
Type=simple
User=www-data
WorkingDirectory=/opt/lara-chess
ExecStart=/usr/bin/python3 /opt/lara-chess/server.py
Restart=always
RestartSec=10
[Install]
WantedBy=multi-user.target
EOF
# Aktivieren und starten
sudo systemctl daemon-reload
sudo systemctl enable --now lara-chess
Die App läuft dann auf http://SERVER_IP:8111.
Docker
# Dockerfile
FROM python:3-slim
WORKDIR /app
COPY . .
EXPOSE 8111
CMD ["python", "server.py"]
docker build -t lara-chess .
docker run -d --name lara-chess -p 8111:8111 --restart unless-stopped lara-chess
Reverse Proxy (nginx)
server {
listen 80;
server_name chess.example.com;
location / {
proxy_pass http://127.0.0.1:8111;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
Umgebungsvariablen (optional)
| Variable | Default | Beschreibung |
|---|---|---|
PORT |
8111 |
Server-Port |
STOCKFISH_PATH |
stockfish.exe / stockfish |
Pfad zur Stockfish-Engine |
STOCKFISH_DEPTH |
25 |
Stockfish-Suchtiefe |
Description
Languages
JavaScript
52.7%
Python
19%
CSS
17.8%
HTML
10.5%
