12 Monate Crumbforest-Wachstum, sortiert nach Waldlogik. Struktur: - 454 Dokumente in 7 organischen Ebenen - Lichtung → Waldrand → Waldmitte → Wurzeln → Krone → Unterholz → Samen - INDEX.md für jede Ebene (eigene Stimme) - WALDKARTE.md (Master-Navigation) - crumbcodex.md (Das Versprechen zwischen Krümel & Bits) - lichtung/willkommen.md (Nullfeld-Einstieg für Kinder) Philosophie: - Waldlogik statt Ordnerlogik - Tiefe, Licht, Wurzeln - wie ein echter Wald - Schutz für Krümel, Tiefe für Gräber, Poesie für Atmende Repos verbunden: - OZM-Keks-Handbuch-v1 (Das Wissen) - Crumb-Core-v.1 (Das Herz) - 194.164.194.191 - crumbmissions (Das Spiel) Wuuuhuuuuu! 🦉✨
87 lines
2.4 KiB
Markdown
87 lines
2.4 KiB
Markdown
|
||
# 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.**
|