diff --git a/README.md b/README.md index 14f91e1..150ae88 100755 --- a/README.md +++ b/README.md @@ -8,9 +8,14 @@ Ein intelligentes Bookmarklet für die Mitarbeiter-Kantine der Bessa App. Dieses * **Bestell-Countdown:** ⏳ Roter Alarm 1h vor Bestellschluss. * **Smart Highlights:** 🌟 Markiere deine Favoriten (z.B. "Schnitzel", "Vegetarisch"). * **Bestellstatus:** Farbige Indikatoren für bestellte Menüs. -* **Kostenkontrolle:** Summiert automatisch den Gesamtpreis der Woche. -* **Session Reuse:** Nutzt automatisch eine bestehende Login-Session (Loggt dich automatisch ein). -* **Menu Badges:** Zeigt Menü-Codes (M1, M2+) direkt im Header. +* **Kostenkontrolle:** 💰 Summiert automatisch den Gesamtpreis der Woche. +* **Bestellhistorie:** 📜 Gruppiert nach Monat & KW mit inkrementellem Delta-Cache. +* **Session Reuse:** 🔑 Nutzt automatisch eine bestehende Login-Session. +* **Menu Badges:** 🏷️ Zeigt Menü-Codes (M1, M2+) direkt im Header. +* **Menü-Flagging:** 🔔 Ausverkaufte Menüs beobachten und bei Verfügbarkeit benachrichtigt werden. +* **Version-Menü:** 📦 Versionsliste mit Installer-Links, Dev-Mode Toggle und Downgrade-Support. +* **Cache leeren:** 🗑️ Lokalen Cache mit einem Klick bereinigen (im Version-Menü). +* **Favicon:** 🍽️ Eigenes Icon für die Lesezeichenleiste. * **Changelog:** Übersicht über neue Funktionen direkt im Installer. ## 📦 Installation @@ -19,7 +24,7 @@ Ein intelligentes Bookmarklet für die Mitarbeiter-Kantine der Bessa App. Dieses 2. Ziehe den blauen Button **"Kantine Wrapper"** in deine Lesezeichen-Leiste. 3. Fertig! -## usage +## 🍽️ Nutzung 1. Navigiere zu [https://web.bessa.app/knapp-kantine](https://web.bessa.app/knapp-kantine). 2. Klicke auf das **"Kantine Wrapper"** Lesezeichen. @@ -28,24 +33,38 @@ Ein intelligentes Bookmarklet für die Mitarbeiter-Kantine der Bessa App. Dieses ## 🛠️ Entwicklung ### Voraussetzungen -* Node.js (optional, nur für Build-Scripts) +* Node.js (für Build- und Test-Scripts) +* Python 3 (für Build-Tests) * Bash (für `build-bookmarklet.sh`) ### Projektstruktur #### Quelldateien -* `kantine.js`: Der Haupt-Quellcode des Bookmarklets (UI, API-Logik, Rendering). -* `style.css`: Das komplette Design (CSS mit Light/Dark Mode). -* `mock-data.js`: Mock-Fetch-Interceptor mit realistischen Dummy-Menüdaten für Standalone-Tests. -* `build-bookmarklet.sh`: Build-Skript – erzeugt alle `dist/`-Artefakte. -* `test_build.py`: Automatische Build-Tests, laufen am Ende jedes Builds. +| Datei | Beschreibung | +|-------|-------------| +| `kantine.js` | Haupt-Quellcode des Bookmarklets (UI, API-Logik, Rendering). | +| `style.css` | Komplettes Design (CSS mit Light/Dark Mode). | +| `favicon.svg` | Favicon für die Installer-Seite (Dreieck + Gabel & Messer). | +| `mock-data.js` | Mock-Fetch-Interceptor mit realistischen Dummy-Menüdaten für Standalone-Tests. | +| `build-bookmarklet.sh` | Build-Skript – erzeugt alle `dist/`-Artefakte und führt alle Tests aus. | +| `release.sh` | Release-Skript – Commit, Tag, Push zu allen Remotes. | +| `version.txt` | Aktuelle Versionsnummer (SemVer). | +| `changelog.md` | Änderungshistorie aller Versionen. | +| `REQUIREMENTS.md` | System Requirements Specification (SRS). | + +#### Tests +| Datei | Beschreibung | +|-------|-------------| +| `test_logic.js` | Logik-Unit-Tests (statische Analyse, Syntax-Check, Sandbox-Ausführung). | +| `tests/test_dom.js` | DOM-Interaktionstests via JSDOM (prüft Event-Listener-Bindung aller UI-Komponenten). | +| `test_build.py` | Build-Artefakt-Validierung (Existenz, Inhalt). | #### `dist/` – Build-Artefakte | Datei | Beschreibung | |-------|-------------| | `bookmarklet.txt` | Die rohe Bookmarklet-URL (`javascript:...`). Enthält CSS + JS als selbstextrahierendes IIFE. Kann direkt als Lesezeichen-URL eingefügt werden. | | `bookmarklet-payload.js` | Der entpackte Bookmarklet-Payload (JS). Erstellt `