1e51ef7def
- Konzept/, didaktik_geografie/, didaktik_simulation/, v2-modules/, v2-platform/ - 12 code-workspace-Files - STATUS-*.md - viele M/D/R-Änderungen an bereits getrackten Files - .gitignore verstärkt: **/.humaninput/, **/secret_keys.txt Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
72 lines
2.5 KiB
Markdown
72 lines
2.5 KiB
Markdown
# Hallo Welt — V2-Beispiel-Modul
|
||
|
||
Ein **lebendes Referenz-Modul** für alle Modul-Instanzen, die ein
|
||
V2-Modul bauen wollen. Erfüllt **alle 6 Pflicht-Verträge** der Spec
|
||
(siehe `../../v2-modules/_spec/`).
|
||
|
||
## Was es macht
|
||
|
||
Drei Mini-Schritte:
|
||
1. Begrüßung mit Avatar und Name aus dem Profil
|
||
2. Eine Multiple-Choice-Frage zu Wien
|
||
3. Geschafft-Screen mit Score
|
||
|
||
Alles in 1–2 Minuten durchspielbar. Demonstriert:
|
||
|
||
- Input-API: Token aus URL, Profil-Abruf via `/api/student/me`
|
||
- Output-API: Resume-State per `/api/module/state` PUT, Endergebnis per `/api/result` POST
|
||
- Telemetry-API: Heartbeat alle 15s, drei Milestones, Stuck-Detection nach 90s
|
||
- Plattform-Standards: A11y (High-Contrast, Reduced Motion, Keyboard, ARIA), Easy-Sprache, Sprachregeln (keine Spielsprache), iPad-Pattern (dvh, viewport-fit, sticky actions)
|
||
- Manifest mit allen Pflichtfeldern
|
||
- i18n-Files für `de-AT-standard` und `de-AT-easy`
|
||
|
||
## Lokal ausprobieren
|
||
|
||
1. XAMPP starten
|
||
2. Mock-Token holen:
|
||
```
|
||
http://localhost/geograsim/v2-platform/mock/issue-token.php?student=42
|
||
```
|
||
3. Modul mit Token aufrufen:
|
||
```
|
||
http://localhost/geograsim/v2-modules/hallo-welt/public/game.html?session_token=<TOKEN>&student_id=42&class_id=99&mode=free&difficulty=L1&lang=de-AT-standard&resume=0
|
||
```
|
||
4. Mock-Logs live mitlesen:
|
||
```bash
|
||
tail -f v2-platform/mock/uploads/log.jsonl
|
||
```
|
||
|
||
Probiere auch:
|
||
- `student=43` für Easy-Sprache-Modus (`lang=de-AT-easy` setzen)
|
||
- `student=44` für High-Contrast + Reduced Motion + Screen-Reader-Profil
|
||
|
||
## Struktur
|
||
|
||
```
|
||
hallo-welt/
|
||
├── manifest.json
|
||
├── README.md
|
||
├── public/
|
||
│ ├── game.html ← Entry Point (HTML+CSS+JS, inline)
|
||
│ ├── assets/
|
||
│ │ └── card.svg ← Cockpit-Karten-Bild
|
||
│ └── i18n/
|
||
│ ├── de-AT-standard.json ← Texte
|
||
│ └── de-AT-easy.json ← Easy-Sprache-Texte
|
||
├── db/
|
||
│ └── migrations.sql ← leer (kein eigenes Schema)
|
||
└── tests/
|
||
└── mock-platform.html ← Standalone-Test-Harness
|
||
```
|
||
|
||
## Was du als Modul-Bauer*in lernen kannst
|
||
|
||
Lies in dieser Reihenfolge:
|
||
|
||
1. **manifest.json** — wie wird ein Modul deklariert
|
||
2. **public/game.html** — wie sieht die Mindest-Mechanik aus, wie wird Telemetry aufgerufen
|
||
3. **public/i18n/*.json** — wie ist Easy-Sprache organisiert
|
||
4. **tests/mock-platform.html** — wie testet man ein Modul ohne echte Plattform
|
||
|
||
Keine 3000 Zeilen — bewusst klein gehalten. Einsteiger-Friendly.
|