# Dokumentation: CakePHP – Netzwerk & Datenstruktur _Stand: 2025-05-09 Modul: Crumbforest – Schnittstellen zu TTYD, RUST & Kind-API_ --- ## 🍰 Übersicht: Architektur & Flow **Frontend / Terminal Interface** - ttyd (für Kinderfragen, Lernzugang, Debugging) - CakePHP View-Templates (kinderfreundlich, markdown-fähig) **Backend (CakePHP)** - Version: PHP 8.3 (getestet) - Framework: CakePHP 4.x - Authentifizierung: implementiert (Custom UserProvider via MySQL) - Logging: KrümelLog (Zeitstempel, Emoji, Quelle, Nachricht) **Database (MariaDB/MySQL)** - DB: `kuchenwald` - User: `krümel_user` (mit Schreibrechten) - Init-Script: `init.sql` (erstellt Tabellen & Seed-Benutzer) **Routen & Controller** - `/krümel/index` – Übersicht & Logs - `/krümel/add` – Krümel-Eintrag via POST - `/eule/view` – symbolisches Weisheitsmodul **Middleware & Services** - KrümelAuthComponent (CakePHP) - Connection zur RUST-API via REST (`/bittrain`, `/echo`, `/eule`) - Token-Passing in Planung (OAuth optional, zukunftssicher) --- ## 📊 Datenstruktur (Auszug) **users** ```sql CREATE TABLE users ( id INT AUTO_INCREMENT PRIMARY KEY, username VARCHAR(50) NOT NULL UNIQUE, password_hash VARCHAR(255) NOT NULL, role ENUM('admin', 'child', 'observer') DEFAULT 'child', created DATETIME DEFAULT CURRENT_TIMESTAMP ); ``` **kruemel_logs** ```sql CREATE TABLE kruemel_logs ( id INT AUTO_INCREMENT PRIMARY KEY, created DATETIME DEFAULT CURRENT_TIMESTAMP, emoji CHAR(4), message TEXT, source VARCHAR(255) ); ``` --- ## 🔌 Verbindung & API-Gateway - Alle Shell-Aktivitäten (TTYD) werden symbolisch und technisch an CakePHP gemappt (via `shell_dispatcher.sh`) - TTYD stellt Kommandozeilen-Zugang bereit für geschützte Umgebungen (z. B. mit `sudo -u krümel_user`) - Brücke zu Rust wird über HTTP-POST & GET (`fetch`, `curl`, oder `HttpClient`) betrieben - Logging erfolgt doppelt: in `KrümelLog` (DB) & `krümel_api_spec.rs` als Echo --- ## 🧠 To Do / Vision - [ ] Child-Safe API Wrapper für Rust - [ ] GraphQL für komplexe Datenabfragen (KrümelHistory, EulenDialoge) - [ ] Admin-Dashboard für Pädagog:innen - [ ] Frequenzbasierte Access-Kontrolle: Kind, Crew, Commander - [ ] Export-Modul für Markdown, PDF, Audio --- **Letzter Commit:** `curl -X POST /krümel -d '🌱 Neues Bit im Wald'` 🦉 **Fragen leiten wir an die Eule weiter.** **Alles andere committed der Kuchen.**