Přeskočit obsah

Intent: Témata hodiny + per-student přiřazení

Status: Implemented · Updated: 2026-05-13

Problém

Učitel po hodině potřebuje rychle zaznamenat, co se učili a kterých žáků se to týkalo. Smíšené ročníky (Kentaur = 4. + 5., Phenix = 6. + 7.) ve stejném slotu znamenají, že téma se týká vždy jen části třídy. Bez evidence „kdo dostal kterou látku" rodič a budoucí Sofie chatbot nemají z čeho stavět souhrny. Učitel ale musí mít minimální klikací zátěž — jinak nebude evidovat.

Kdo to chce + jak ho poznáme

  • Primární role: teacher
  • Sekundární: budoucí konzument — Sofie chatbot (Feed pro rodiče), ředitel (přehled co se ve škole učí)
  • Stakeholder: Tomáš (PO)
  • Kontext použití: na konci hodiny (1 minuta), nebo večer při doplňování (5 minut)

Definice úspěchu

  • Téma je krátký text (max ~500 znaků), volitelně s grade hintem (4./5./6./7.).
  • Při zakládání tématu klik na ročník → předvyplní všechny žáky daného ročníku v dané třídě. Manuální toggle pro výjimky.
  • M:N vazba téma ↔ žák přes student_slot_topics. Žák může mít víc témat za hodinu, téma víc žáků.
  • Po uzavření docházky (attendance_done_at) se z přiřazení odstraní absenti — fair credit.
  • Po uzavření docházky nelze editovat přiřazení (UI disabled).
  • Soft delete neexistuje — odbrání žáka z tématu mazne řádek.

Out-of-scope

  • Mastery levels (úroveň zvládnutí: novice/proficient/expert) — schema bez atributu, UI bez ovládání. Pro MVP stačí „dostal/nedostal téma". Mastery je layer 2 (Sofie evaluace).
  • Reuse témat napříč hodinami (každé téma žije pod jedním slot_topics záznamem; copy-paste z předchozí hodiny neexistuje).
  • Štítky / kompetence / Montessori vazba (docs/curriculum/) — schema ready zatím není, propojení s kurikulem je layer 3.
  • Učební plány / sylaby (oddělená feature, Fáze 2+).
  • Hromadné mazání témat (jen jednotlivá).