Files
geograsim/App/docs/content-architecture.md
T
Adminator 9a61f55cb1 Atlas: Infrastruktur + Team-Konventionen + Sprachregel Lernarbeit
- Design-System (assets/css/design-system.css) mit 21 Komponenten,
  iPad-Responsive-Breakpoints, Touch-Ziele 36px, Music-Player,
  Glossar-Tooltips
- Templates (sims/template.html + student/teacher-Dashboard)
- Docs: module-interface.md (inkl. 4a Sprachregel, 4b Leichte Sprache,
  4c iPad), content-architecture.md, crash-recovery.md, music-registry.md
- Admin-Infrastruktur: admin-modules.html + api/admin-modules.php
  (Titel, Emoji, Bild, Status, Dauer, Alter pro Modul)
- Inbox-System: _inbox/README.md + _status.md fuer Atlas + Briefings
  an Klima, Glossar, Lehrplan, Fluss
- Zentrale SFX-Pipeline (scripts/generate-sounds.py)
- DALL-E-Bilder: 8 Badges + 5 Glossar-Repraesentationsbilder (Querformat)
- Logo + Inter-Font lokal
- PHP-APIs: admin, glossar, levels, licenses, progress, waypoints,
  assignments, profile, tickets
- Spielsprache entfernt (admin-modules, admin-levels, schueler)
- Landing-Page-Bearbeitungen (Boote sichtbarer, Button-Hintergrund)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-19 11:51:14 +02:00

297 lines
13 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# GeoGraSim — Informationsarchitektur & Content-Spezifikation
Dieses Dokument beschreibt die öffentlichen und didaktischen Inhalte von
GeoGraSim (Landing Page, Modul-Detailseiten, Lehrplan-Bezug, Glossar). Es
richtet sich an die Content-Instanz, die diese Seiten erstellt.
---
## 1. Drei Benutzer-Pfade
```
ANONYM SCHÜLER:IN LEHRPERSON
────── ────────── ──────────
Landing Page (index.html) Mein Dashboard Klassen-Dashboard
↓ Überblick (schueler.html) (teacher.html)
↓ "Sofort ausprobieren" ↓ Meine Module ↓ Modulfreigabe
↓ Für Lehrpersonen ↓ Badges, Fortschritt ↓ Ergebnisse
↓ Für Schüler:innen
Profil Lehrplan-Matching
Simulationen-Übersicht (neu, pro Modul)
↓ Cards je Modul Glossar (mit Markierung
"schon gelernt")
Modul-Detailseite (NEU)
↓ Was lerne ich?
↓ Welche Begriffe?
↓ Lehrplan-Bezug
↓ Jetzt probieren
Glossar (wird parallel gebaut)
Lehrplan-Seite (NEU)
↓ AT / DE / CH / LI Filter
↓ Kompetenz-Mapping
↓ Welches Modul passt wohin
```
---
## 2. Kern-Prinzip: Kompetenz-Brücke
**Problem:** DACH+LI haben zusammen ~40 verschiedene Lehrpläne (Bundesländer,
Kantone, Schultypen). Alle einzeln zu pflegen ist nicht leistbar.
**Lösung:** Module werden auf **didaktische Kompetenzbereiche** gemappt, nicht
auf einzelne Lehrpläne. Jeder Lehrplan referenziert ähnliche Kompetenzen — die
Lehrperson erkennt den Bezug selbst.
Beispiel:
```
Kompetenzbereich: "Klimawandel verstehen"
├── Modul: Klimawächter 2D (Level 13)
├── Modul: Klimawächter 3D (Level 13)
└── Lehrplan-Anker:
├── 🇦🇹 AT Mittelschule GW, Kl. 8 — "Anthropogener Klimawandel"
├── 🇩🇪 DE Berlin GL, Kl. 9 — "Klimawandel als globale Herausforderung"
├── 🇨🇭 CH Lehrplan 21, NMG.3.2 — "Klima und Wetter"
└── 🇱🇮 LI 7. Schulstufe GW — "Naturphänomene und Klimasystem"
```
Die Lehrperson sieht: "Ja, passt zu meinem Lehrplan-Punkt" und weiß, dass das
Modul didaktisch fundiert zugeordnet ist.
---
## 3. Datenbank-Schema (Vorschlag — abstimmen mit Zentrale)
```sql
-- Didaktische Kompetenzbereiche (zentrale Brücke)
CREATE TABLE kompetenzen (
id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
key_slug VARCHAR(64) NOT NULL UNIQUE, -- 'klimawandel', 'raumplanung'
title VARCHAR(128) NOT NULL, -- 'Klimawandel verstehen'
description TEXT, -- Didaktisch ausformuliert (3-5 Sätze)
category VARCHAR(32), -- 'klima', 'raum', 'gesellschaft'
age_min TINYINT UNSIGNED, -- 10 (Klasse 5)
age_max TINYINT UNSIGNED, -- 16 (Klasse 10)
sort_order INT DEFAULT 0
);
-- Modul ↔ Kompetenz (N:M)
CREATE TABLE kompetenz_modules (
kompetenz_id INT UNSIGNED NOT NULL,
module_id VARCHAR(16) NOT NULL, -- 'klima', 'heli', 'fluss', 'stadt'
level TINYINT UNSIGNED, -- 1, 2, 3 (optional)
strength ENUM('primär', 'sekundär') DEFAULT 'primär',
PRIMARY KEY (kompetenz_id, module_id, level),
FOREIGN KEY (kompetenz_id) REFERENCES kompetenzen(id) ON DELETE CASCADE
);
-- Lehrplan-Anker pro Kompetenz
CREATE TABLE lehrplan_anchors (
id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
kompetenz_id INT UNSIGNED NOT NULL,
country CHAR(2) NOT NULL, -- 'AT', 'DE', 'CH', 'LI'
region VARCHAR(32), -- Bundesland/Kanton (optional)
school_type VARCHAR(32), -- 'MS', 'AHS', 'Gym', ...
grade VARCHAR(16), -- 'Kl. 8', '7.-8. Stufe'
title VARCHAR(255), -- 'Anthropogener Klimawandel'
reference VARCHAR(255), -- Offizielle Lehrplan-Referenz/URL
quote TEXT, -- Exaktes Zitat aus dem Lehrplan
FOREIGN KEY (kompetenz_id) REFERENCES kompetenzen(id) ON DELETE CASCADE,
INDEX (country, school_type, grade)
);
-- Modul-Metadaten (für Detailseiten)
CREATE TABLE module_info (
module_id VARCHAR(16) NOT NULL PRIMARY KEY,
title VARCHAR(128) NOT NULL, -- 'Klimawächter'
subtitle VARCHAR(255), -- 'Klima retten, Küste schützen'
short_desc TEXT, -- 1-2 Sätze für Card
long_desc TEXT, -- Ausführlich für Detailseite
learning_goals TEXT, -- JSON-Array oder Markdown
duration_min INT UNSIGNED, -- Geschätzte Spieldauer in Minuten
age_min TINYINT UNSIGNED,
age_max TINYINT UNSIGNED,
icon VARCHAR(16), -- Emoji
card_image VARCHAR(255), -- card-climate.png etc.
status ENUM('aktiv', 'beta', 'archiv') DEFAULT 'beta',
sort_order INT DEFAULT 0
);
```
---
## 4. Arbeitsbereich Content-Instanz
### SCHREIBEN
- `App/pages/modul-klima.php` — Detailseite Klimawächter
- `App/pages/modul-heli.php` — Detailseite Heli
- `App/pages/modul-fluss.php` — Detailseite Fluss
- `App/pages/modul-stadt.php` — Detailseite Stadt
- `App/pages/lehrplan.php` — Lehrplan-Übersicht mit Filtern
- `App/pages/simulationen.php` — Übersichtsseite aller Module (ersetzt evtl. eine Section auf der Landing)
- DB-Tabellen: `kompetenzen`, `kompetenz_modules`, `lehrplan_anchors`,
`module_info` (über PHP/PDO, nicht via mysql.exe — Umlaute!)
### LESEN
- Gesamtes Projekt
- `App/docs/module-interface.md`
- `App/docs/content-architecture.md` (dieses Dokument)
- Bestehende Module zum Verstehen des Inhalts
### NICHT ANFASSEN
- Module selbst (`App/sims/...`)
- Glossar (macht die Glossar-Instanz) — aber du darfst Glossar-Einträge per
Inbox an Glossar-Instanz anfragen, wenn sie für Modul-Detailseiten nützlich
sind
- Landing Page (`index.html`, `index.php`) — du darfst Änderungs-Vorschläge
per Zentrale-Inbox schicken, aber nicht selbst editieren
- Design-System, Admin, APIs
---
## 5. Recherche-Quellen für Lehrpläne
### Österreich
- Lehrplan Mittelschule (BMBWF): https://www.bmbwf.gv.at → Unterricht → Lehrpläne
- Lehrplan AHS Unterstufe
- GW (Geographie und Wirtschaftsbildung) steht seit 2023 neu strukturiert
### Deutschland
- Konzentration auf große Bundesländer + neutrale Lehrplan-Kernelemente
- Bildungsstandards KMK (Kultusministerkonferenz) als Dach
- Pro Bundesland evtl. nur 12 Referenzen
### Schweiz
- Lehrplan 21 (21 Kantone, gemeinsame Struktur)
- NMG (Natur, Mensch, Gesellschaft) in Sek I, RZG (Räume, Zeiten, Gesellschaften)
### Liechtenstein
- Eigener Lehrplan, lehnt sich stark an CH an
- Lehrplan FL ab 2012 (LiLe)
### Prinzip der Recherche
**Weniger Tiefe, mehr Breite.** Für jede Kompetenz **35 Anker** aus
verschiedenen Ländern. Nicht alle 16 Bundesländer + 26 Kantone einzeln. Die
Lehrperson muss das Modul als lehrplankonform erkennen, nicht den exakten
Paragrafen finden.
---
## 6. Modul-Detailseiten: Struktur
Jede Modul-Detailseite (z.B. `modul-klima.php`) hat:
```
┌────────────────────────────────────────────────┐
│ HEADER (bildLogo + textlogo + Navi) │
├────────────────────────────────────────────────┤
│ │
│ HERO-BEREICH │
│ ┌──────────┐ 🌍 KLIMAWÄCHTER │
│ │ Card-Bild│ Klima retten, Küste schützen. │
│ │ (DALL-E) │ [Sofort probieren] │
│ └──────────┘ [Für Lehrpersonen: Lehrplan- │
│ Bezug] │
│ │
│ META-ANGABEN │
│ Dauer: 30-45 Min · Alter: 12-16 · 3 Levels │
│ │
├────────────────────────────────────────────────┤
│ WAS LERNST DU? │
│ [Lernziel 1] [Lernziel 2] [Lernziel 3] │
│ (Aus learning_goals, als Bullet-Liste) │
│ │
├────────────────────────────────────────────────┤
│ WIE FUNKTIONIERT'S? │
│ Ausführliche Beschreibung der Spielmechanik, │
│ evtl. mit Screenshots / GIFs │
│ │
├────────────────────────────────────────────────┤
│ BEGRIFFE DIE DU KENNENLERNST │
│ (Aus glossar-Tabelle: alle Einträge │
│ mit module='klima') │
│ [CO₂] [ppm] [Watt] [Megawatt] [Windpark] ... │
│ → Kleine Chips mit Hover-Definition │
│ │
├────────────────────────────────────────────────┤
│ LEHRPLAN-BEZUG │
│ [🇦🇹] [🇩🇪] [🇨🇭] [🇱🇮] │
│ │
│ Kompetenzbereich: Klimawandel verstehen │
│ → AT MS GW Kl. 8: "Anthropogener Klimawandel"│
│ → DE Berlin GL Kl. 9: "Klimawandel global" │
│ → CH NMG.3.2: "Klima und Wetter" │
│ │
├────────────────────────────────────────────────┤
│ FOOTER (wie alle Seiten) │
└────────────────────────────────────────────────┘
```
---
## 7. Lehrplan-Übersichtsseite (`lehrplan.php`)
```
┌────────────────────────────────────────────────┐
│ HEADER │
├────────────────────────────────────────────────┤
│ LEHRPLAN-BEZUG │
│ │
│ Land: [Alle] [🇦🇹 AT] [🇩🇪 DE] [🇨🇭 CH] [🇱🇮 LI]│
│ Stufe: [Alle] [Sek I] [Sek II] │
│ Thema: [Alle] [Klima] [Raum] [Gesellschaft] │
│ │
├────────────────────────────────────────────────┤
│ GRUPPIERT NACH KOMPETENZBEREICH │
│ │
│ ▸ Klimawandel verstehen │
│ 🌍 Klimawächter 2D · 🌍 Klimawächter 3D │
│ 🇦🇹 AT MS GW Kl. 8 — "Anthropogener..." │
│ 🇩🇪 DE Berlin GL Kl. 9 — "Globale..." │
│ 🇨🇭 CH Lehrplan 21 NMG.3.2 │
│ │
│ ▸ Naturgefahren und Hochwasser │
│ 🏞️ Flussmanagement │
│ 🇦🇹 ... 🇩🇪 ... 🇨🇭 ... 🇱🇮 ... │
│ │
│ ▸ Alpine Geografie │
│ 🚁 Heli-Navigation │
│ │
│ ▸ Stadtplanung und Raumordnung │
│ 🏙️ Stadt & Raumplanung │
│ │
└────────────────────────────────────────────────┘
```
---
## 8. Landing-Page-Ergänzungen (Vorschlag an Zentrale)
Die Landing Page (`index.html`) sollte minimal ergänzt werden:
- Link zum Glossar im Footer oder als eigene Section
- Link zur Lehrplan-Seite im Lehrpersonen-Bereich
- Simulations-Cards sollen auf die neuen Modul-Detailseiten verlinken
(nicht direkt ins Spiel) — ausser der Gast probiert direkt
**Du änderst die Landing NICHT selbst** — du schickst einen konkreten
Änderungs-Vorschlag (mit Code-Diff) per Nachricht an `zentrale/`, die
Zentrale integriert das.
---
## 9. Erste Schritte
1. Dieses Dokument lesen
2. DB-Schema vorschlagen / mit Zentrale abstimmen (Inbox-Nachricht)
3. `kompetenzen`, `module_info` etc. per PHP-Script anlegen
4. Ersten Modul-Detailseite (`modul-klima.php`) als Template bauen
5. Die anderen Modul-Seiten nachziehen
6. Lehrplan-Recherche für AT + Lehrplan 21 (CH/LI) starten
7. `lehrplan.php` mit echten Ankern befüllen
Bei Fragen oder DB-Änderungen: Nachricht in `App/sims/_inbox/zentrale/`.