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

13 KiB
Raw Blame History

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)

-- 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/.