# Dokumentation erstellen Erstelle oder aktualisiere die technisch-fachliche Dokumentation der App. Lies zuerst den aktuellen Code, dann generiere die Dokumentation. ## Wichtig - Dokumentation basiert auf dem ECHTEN Code – nicht auf Annahmen - Jede Datei einzeln erstellen, nicht alles auf einmal - Bestehende Dateien aktualisieren wenn sie existieren ## Schritt 1: Architektur-Übersicht Lies folgende Dateien: - `backend/main.py` - `backend/db.py` - `backend/auth.py` - `backend/schema.sql` - `frontend/src/App.jsx` - `frontend/src/app.css` - `frontend/src/utils/api.js` - `docker-compose.yml` Erstelle `.claude/docs/technical/ARCHITECTURE.md` mit: ```markdown # Architektur-Übersicht – Mitai Jinkendo ## System-Überblick [Kurze Beschreibung der Gesamtarchitektur] ## Tech-Stack [Tabelle mit allen Technologien + Versionen] ## Deployment-Architektur [Infrastruktur: Raspberry Pi, Docker, Synology, Domains] ## Komponenten-Übersicht [Alle Module/Router mit Kurzbeschreibung] ## Datenfluss [Wie fließen Daten: Frontend → API → DB] ## Sicherheitsarchitektur [Auth, CORS, Rate Limiting, bcrypt] ## Versions-Historie [v9a, v9b, v9c – was wurde wann eingeführt] ``` ## Schritt 2: Frontend-Seiten + Komponenten Lies alle Dateien in: - `frontend/src/pages/` - `frontend/src/context/` - `frontend/src/utils/` Erstelle `.claude/docs/technical/FRONTEND.md` mit: ```markdown # Frontend-Dokumentation ## Seiten-Übersicht [Tabelle: Seite | Route | Beschreibung | Auth erforderlich] ## Komponenten [Wiederverwendbare Komponenten mit Props] ## Context / State Management [AuthContext, ProfileContext – was wird wo verwaltet] ## API-Integration (api.js) [Alle API-Methoden mit Parametern] ## CSS-System [CSS-Variablen, globale Klassen, Design-Tokens] ## PWA-Konfiguration [Service Worker, Manifest, Icons] ``` ## Schritt 3: Auth-Flow + Sicherheit Lies: - `backend/auth.py` - `backend/routers/auth.py` - `frontend/src/context/AuthContext.jsx` Erstelle `.claude/docs/technical/AUTH.md` mit: ```markdown # Auth-Flow & Sicherheit ## Login-Flow (Schritt für Schritt) [Sequenz: Frontend → Backend → DB → Token] ## Session-Management [Token-Format, Lebensdauer, Speicherort] ## Passwort-Sicherheit [bcrypt, SHA256-Migration, Salting] ## Rate Limiting [Welche Endpoints, Limits, slowapi-Konfiguration] ## CORS-Konfiguration [Allowed Origins, Umgebungsvariablen] ## Öffentliche vs. geschützte Endpoints [Tabelle: Endpoint | Public/Protected | Admin-only] ## Bekannte Sicherheitsentscheidungen [Warum welche Entscheidung getroffen wurde] ``` ## Schritt 4: API-Referenz Lies alle Dateien in `backend/routers/`. Erstelle `.claude/docs/technical/API_REFERENCE.md` mit: ```markdown # API-Referenz ## Basis-URL - Prod: https://mitai.jinkendo.de/api - Dev: https://dev.mitai.jinkendo.de/api ## Authentifizierung [Header-Format, Token-Handling] ## Endpoints nach Modul ### Auth (/api/auth/...) | Method | Path | Auth | Parameter | Response | ... ### Profile (/api/profiles/...) ... ### Gewicht (/api/weight/...) ... [alle 14 Router] ## Fehler-Codes [Standard-Fehlercodes und Bedeutung] ## Rate Limits [Tabelle: Endpoint | Limit | Zeitfenster] ``` ## Schritt 5: Datenbankschema Lies `backend/schema.sql`. Erstelle `.claude/docs/technical/DATABASE.md` mit: ```markdown # Datenbankschema ## Übersicht [Alle Tabellen mit Kurzbeschreibung] ## Tabellen-Details [Je Tabelle: Spalten, Typen, Constraints, Indizes] ## Beziehungen [Foreign Keys, Beziehungsdiagramm als ASCII] ## Migrations-Historie [Was wurde wann geändert] ## Design-Entscheidungen [Warum PostgreSQL, warum welche Struktur] ## Wichtige Abfragen [Häufig verwendete Queries als Referenz] ``` ## Nach jeder Datei Sage mir: - Welche Datei wurde erstellt/aktualisiert - Wie viele Zeilen - Was war überraschend oder unklar im Code ## Starten Beginne mit Schritt 1 (ARCHITECTURE.md). Frage nach jedem Schritt ob du weitermachen sollst. EOF