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

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

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.