Doku aktualisiert: README aktualisiert (Features, Projektstruktur, Env-Vars), Doku-Prüf-Regel in AGENTS.md
This commit is contained in:
@@ -4,4 +4,5 @@
|
||||
- Commits und Push erfolgen nur durch expliziten Befehl des Nutzers.
|
||||
- Der Server (server.py) wird immer unsichtbar gestartet: `Start-Process -NoNewWindow -FilePath "python" -ArgumentList "server.py"`
|
||||
- Bei Updates (Polling/Code-Änderungen) niemals den aktuell angezeigten Zug wechseln. Der Benutzer bleibt auf dem von ihm ausgewählten Zug.
|
||||
- Nach jeder Code-Änderung muss die Doku (README.md) auf Richtigkeit und Vollständigkeit geprüft und bei Bedarf aktualisiert werden (Features, Projektstruktur, Konfiguration, Umgebungsvariablen, Technik-Tabelle).
|
||||
|
||||
|
||||
71
README.md
71
README.md
@@ -1,4 +1,4 @@
|
||||
# 🏆 Lara Kiesewetter – Live Schachturnier
|
||||
# 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.
|
||||
|
||||
@@ -7,23 +7,26 @@ Live-Überwachung von Lara Kiesewetters Partien bei der **ODJM (Offene Deutsche
|
||||
## 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
|
||||
- **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
|
||||
- **Auto-Refresh** – Aktualisiert die Daten alle 60 Sekunden
|
||||
- **Proxy-Server** – Lokaler Python-Server mit PGN-Caching und CORS-Unterstützung
|
||||
- **Turniertabelle** – Tabellenplatz, Punkte, Siege/Unentschieden/Niederlagen von Lara
|
||||
- **Auto-Refresh** – Aktualisiert die Daten alle 30 Sekunden
|
||||
- **Proxy-Server** – Lokaler Python-Server mit Stockfish-Engine-Wrapper, PGN-Proxy und statischem File-Serving
|
||||
|
||||
## Projektstruktur
|
||||
|
||||
```text
|
||||
├── app.js # Hauptlogik (Brett, UI, Auto-Refresh)
|
||||
├── index.html # HTML-Grundgerüst
|
||||
├── style.css # Dark-Theme-Styling
|
||||
├── pgn-parser.js # PGN-Parser (Header + Züge extrahieren)
|
||||
├── server.py # Lokaler Proxy-Server (Python 3)
|
||||
├── cache/ # PGN-Cache (wird automatisch angelegt)
|
||||
└── lara-chess/ # (optional – reserviert für Erweiterungen)
|
||||
├── style.css # Dark-Theme-Styling (responsive)
|
||||
├── js/
|
||||
│ ├── app.js # Hauptlogik (Brett, UI, Auto-Refresh, Eval-Bar)
|
||||
│ └── 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
|
||||
@@ -31,6 +34,7 @@ Live-Überwachung von Lara Kiesewetters Partien bei der **ODJM (Offene Deutsche
|
||||
### Voraussetzungen
|
||||
|
||||
- **Python 3.6+** für den Proxy-Server
|
||||
- **Stockfish** (optional, für Analyse) – auf Windows: `stockfish.exe` im Projektverzeichnis
|
||||
- **Browser** (Chrome, Firefox, Edge)
|
||||
|
||||
### Installation & Start
|
||||
@@ -47,19 +51,16 @@ Live-Überwachung von Lara Kiesewetters Partien bei der **ODJM (Offene Deutsche
|
||||
```
|
||||
(Der Server serviert auch die statischen Dateien.)
|
||||
|
||||
### Ohne Proxy (direkter Dateizugriff)
|
||||
|
||||
Öffne `index.html` direkt im Browser. Hinweis: Der CORS-Proxy (`server.py`) muss trotzdem laufen, da der PGN-Endpunkt keine CORS-Header setzt.
|
||||
|
||||
## Technik
|
||||
|
||||
| Komponente | Technologie |
|
||||
| ------------------ | --------------------------------------------------- |
|
||||
| Schachbrett | [chessboard.js](https://github.com/oakmac/chessboardjs) |
|
||||
| Schachlogik | [chess.js](https://github.com/jhlywa/chess.js) |
|
||||
| UI | HTML, CSS, Vanilla JS |
|
||||
| Proxy-Server | Python http.server (ohne externe Abhängigkeiten) |
|
||||
| PGN-Quelle | deutsche-schachjugend.de (ODJM 2026) |
|
||||
| Komponente | Technologie |
|
||||
| ------------------ | ------------------------------------------------------------ |
|
||||
| Schachbrett | [chessboard.js](https://github.com/oakmac/chessboardjs) |
|
||||
| Schachlogik | [chess.js](https://github.com/jhlywa/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
|
||||
|
||||
@@ -126,26 +127,8 @@ server {
|
||||
|
||||
### Umgebungsvariablen (optional)
|
||||
|
||||
In `server.py` können Port und PGN-URL über Umgebungsvariablen überschrieben werden:
|
||||
|
||||
| Variable | Default | Beschreibung |
|
||||
|---|---|---|
|
||||
| `PORT` | `8111` | Server-Port |
|
||||
| `PGN_URL` | (siehe server.py) | Quelle der PGN-Daten |
|
||||
| `CACHE_TTL` | `30` | Cache-Gültigkeit in Sekunden |
|
||||
|
||||
## Konfiguration
|
||||
|
||||
Die wichtigsten Konstanten in `app.js`:
|
||||
|
||||
```js
|
||||
const PGN_URL = 'https://www.deutsche-schachjugend.de/2026/odjm-d/partien/gesamt-utf8.pgn';
|
||||
const REFRESH_INTERVAL = 60000; // Auto-Refresh alle 60s
|
||||
const PLAYER_NAME = 'Kiesewetter, Lara';
|
||||
```
|
||||
|
||||
Im `server.py` lässt sich der Cache-TTL anpassen:
|
||||
|
||||
```python
|
||||
CACHE_TTL = 30 # Sekunden
|
||||
```
|
||||
| Variable | Default | Beschreibung |
|
||||
| ------------------- | ------------------------------ | ------------------------------- |
|
||||
| `PORT` | `8111` | Server-Port |
|
||||
| `STOCKFISH_PATH` | `stockfish.exe` / `stockfish` | Pfad zur Stockfish-Engine |
|
||||
| `STOCKFISH_DEPTH` | `25` | Stockfish-Suchtiefe |
|
||||
|
||||
Reference in New Issue
Block a user