feat: add planning JSON exchange
This commit is contained in:
@@ -0,0 +1,90 @@
|
||||
# LehrerApp-Austauschformat: einzelne Stundenplanung
|
||||
|
||||
Dieses Dokument beschreibt Version 1 des JSON-Formats `lehrerapp.lesson-planning`.
|
||||
Es dient zum Austausch genau einer Stunde mit ihrem Verlaufsplan.
|
||||
|
||||
## Grundregeln
|
||||
|
||||
- Die Datei enthält reines UTF-8-JSON. Beim Import wird auch ein einzelner Markdown-Codeblock akzeptiert.
|
||||
- Datum: `JJJJ-MM-TT`; Uhrzeit: `HH:MM` oder `HH:MM:SS`.
|
||||
- Interne IDs werden nicht übertragen. Der Import legt eine neue Stunde in der aktuell ausgewählten Einheit an.
|
||||
- `context` ist nur Bearbeitungshilfe und entscheidet nicht über das Importziel.
|
||||
- Unbekannte zusätzliche Felder werden ignoriert.
|
||||
|
||||
## Beispiel
|
||||
|
||||
```json
|
||||
{
|
||||
"schema": "lehrerapp.lesson-planning",
|
||||
"version": 1,
|
||||
"context": {
|
||||
"group": "8a",
|
||||
"subject": "Physik",
|
||||
"gradeLevel": 8,
|
||||
"unitTitle": "Optik"
|
||||
},
|
||||
"lesson": {
|
||||
"date": "2026-09-08",
|
||||
"lessonNumber": 3,
|
||||
"topic": "Reflexionsgesetz",
|
||||
"startTime": "09:50:00",
|
||||
"status": "planned",
|
||||
"homework": "Versuchsprotokoll fertigstellen",
|
||||
"reflection": null,
|
||||
"phases": [
|
||||
{
|
||||
"name": "Einstieg",
|
||||
"durationMinutes": 8,
|
||||
"activity": "Alltagsbeispiele für Reflexion sammeln",
|
||||
"material": "Spiegel",
|
||||
"shorthand": "UG",
|
||||
"alternativePath": null
|
||||
},
|
||||
{
|
||||
"name": "Experiment",
|
||||
"durationMinutes": 27,
|
||||
"activity": "Einfalls- und Ausfallswinkel messen",
|
||||
"material": "Optikbox, AB 03",
|
||||
"shorthand": "PA",
|
||||
"alternativePath": null
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## Felder
|
||||
|
||||
### Dokument
|
||||
|
||||
- `schema` (Pflicht): exakt `lehrerapp.lesson-planning`
|
||||
- `version` (Pflicht): aktuell `1`
|
||||
- `context` (optional): `group`, `subject`, `gradeLevel`, `unitTitle`
|
||||
- `lesson` (Pflicht): die neue Stundenplanung
|
||||
|
||||
### Stunde
|
||||
|
||||
- `date` (Pflicht, Datum)
|
||||
- `lessonNumber` (optional, Ganzzahl 1–20 oder `null`)
|
||||
- `topic` (Pflicht, Text)
|
||||
- `startTime` (optional, Uhrzeit oder `null`)
|
||||
- `status` (optional: `planned` oder `conducted`, Standard `planned`)
|
||||
- `homework`, `reflection` (optional, Text oder `null`)
|
||||
- `phases` (Liste, darf leer sein)
|
||||
|
||||
### Phase
|
||||
|
||||
- `name`: Bezeichnung, z. B. `Einstieg` oder `Sicherung`
|
||||
- `durationMinutes`: Ganzzahl 0–180
|
||||
- `activity`: Lehrer-/Schüler-Tätigkeit
|
||||
- `material`: benötigte Medien und Materialien
|
||||
- `shorthand`: Kurzsymbol oder Sozialform
|
||||
- `alternativePath` (optional): Name eines alternativen Verlaufs. Ein vorhandener gleichnamiger Ablauf wird wiederverwendet, andernfalls neu angelegt.
|
||||
|
||||
## Hinweise für KI-Bearbeitung
|
||||
|
||||
- JSON-Struktur, `schema` und `version` unverändert lassen.
|
||||
- Keine IDs ergänzen.
|
||||
- Das Datum muss gesetzt sein; die Stundennummer darf fehlen.
|
||||
- Die Summe der `durationMinutes` sollte zur verfügbaren Unterrichtszeit passen.
|
||||
|
||||
Reference in New Issue
Block a user