Požadavky (REQUIREMENTS.md)
Tento dokument obsahuje funkční a nefunkční požadavky na aplikaci Kosmo.
[!IMPORTANT] MVP scope: Pouze ZŠ (1.-7. třída). MŠ bude řešena v pozdější fázi — jiný workflow, jiné kompetence, jiný denní souhrn.
Funkční požadavky
1. Komunikace s Rodiči (AI Concierge) - PRIORITA Č. 1
- Cíl: "Odbavit" rodiče okamžitě (24/7), nezatěžovat učitele rutinou.
- Koncept "AI Podatelna":
- Rodič komunikuje s chatbotem "Sofie".
- Sofie má kontext: zná rozvrh, jídelníček, akce, manuály.
- Triage (Třídění):
- Okamžitá odpověď: "Co má mít na školu v přírodě?" -> Sofie pošle seznam (RAG).
- Akce: "Omlouvám Aničku." -> Sofie zapíše do DB a notifikuje učitele.
- Eskalace: "Máme problém..." -> Sofie vytvoří Ticket a předá ho řediteli/učiteli.
- Hlasový vstup (Voice Mode):
- Rodič může zprávu rovnou namluvit (na mobilu podrží tlačítko).
- "Sofie, omluv Aničku na zítra, má kašel." -> AI zpracuje audio přímo.
- Funkce:
- Automatické pravidelné zprávy: Co se děti učily (generováno z Evidence, zobrazeno ve Feedu).
- Kalendář a Připomínky: Automatické notifikace.
2. Evidence a Hodnocení Žáků (PRIORITA Č. 2)
- Cíl: Digitalizace prací s minimálním úsilím.
- Funkce:
- Role "Služba": Dítě nebo učitel rychle nafotí/naskenuje práce celé třídy.
- Individuální nahrávání: Žák (starší) si nahrává své projekty.
- API First: Evidence musí jít vytvořit strojově (např. AI agentem z emailu, z n8n).
- Use Case: Učitel pošle fotku na
evidence@sofie.education-> AI vytvoří draft, oštítkuje a připraví ke schválení.
- Use Case: Učitel pošle fotku na
- Štítkování: Vazba na kompetence a předměty (ideálně automatizovaně pomocí AI).
- Dopad: Každá naevidovaná práce se automaticky objeví ve Feedu rodiče.
3. Integrace se ŠkolaOnline (PRIORITA Č. 3)
- Cíl: Odlehčení administrativy (jedna pravda o žácích).
- Funkce:
- Synchronizace databází žáků a rodičů.
- Přenášení absencí/kompetencí (pokud relevantní).
4. Docházka a Vyzvedávání (AI Action)
- Cíl: Bezpečnost dětí a přehled pro školu.
- Funkce (Chat Interface):
- Vyzvedávání: "Dnes vyzvedne babička." -> Sofie to založí a dá vědět učiteli.
- Bezpečnostní Pojistka (Safety Gate):
- AI nikdy neprovede akci "tiše".
- Vždy vrátí Potvrzovací kartu: "Chápu správně, že dnes (9.2.) vyzvedne Aničku paní Marie Nováková?"
- Rodič musí kliknout na [✅ Potvrzuji a přebírám odpovědnost].
- Teprve poté se vytvoří záznam.
- Omluvenky: "Anička je nemocná." -> Sofie se doptá na detaily (od-do) a vytvoří omluvenku.
- Validace: Učitel na tabletu vidí "Dnes: Babička Nováková (tel: 777...)" a jen potvrdí předání.
- Zjednodušení: Není třeba spravovat "seznam oprávněných osob" v DB rodičem složitě. Rodič to napíše do chatu, AI to vytáhne.
- Družina (Odpolední provoz):
- Rodič ve feedu vidí: "Anička je v družině. Plánovaný odchod: 15:30."
- Vyzvedávání z družiny = stejný Safety Gate jako ze školy.
- Vychovatel/ka družiny zadává docházku a aktivity (jako učitel).
- Kroužky:
- Rozvrh kroužků v kalendáři (úterý šachy 14:00-15:00).
- Přihlašování na kroužky (anketa / formulář).
- Notifikace při zrušení kroužku: "Kroužek šachů ZRUŠEN — nemoc lektora."
- Feed item: "Anička dnes na kroužku šachů."
5. Ankety a Sběr Dat (Interaktivní Chat)
- Cíl: Rychlé rozhodování.
- Funkce:
- Rychlé otázky: Sofie se v chatu zeptá: "Máte zájem o kroužek šachů?"
- Odpověď: Rodič klikne na vygenerovaná tlačítka (Ano / Ne / Více info).
- Výhoda: Vypadá to jako konverzace, ne jako "úřední deska".
- Dashboard: Ředitel vidí graf výsledků hned.
6. Sokratův Průvodce (VIZE - BUDOUCNOST)
-
Cíl: Osobní AI průvodce pro každého žáka.
-
Funkce:
- Pomoc s učením ve škole i doma.
- Reakce na fotky a zájmy žáka ("Vyfotil jsem brouka" -> AI navrhne projekt).
- Bezpečné prostředí (moderováno, schváleno rodiči).
7. Podpora Rodičů (VIZE - FÁZE 3)
- Cíl: Pomoci rodičům rozvíjet dítě doma v souladu se školou.
- Funkce:
- Tipy na aktivity: "Ve škole probíráme zlomky, zkuste doma krájet pizzu."
- Knihovna materiálů: Odkazy na Montessori pomůcky/literaturu.
8. Export Dat (Excellence)
- Cíl: Podpora administrativy a reportingu.
- Funkce:
- Export do Excelu: Tlačítko "Stáhnout .xlsx" u všech tabulek (Seznam žáků, Docházka, Ankety).
- Export do Google Sheets: Tlačítko "Otevřít v Google Sheets" (vytvoří nový list na Drive).
- Export do PDF: Tlačítko "Stáhnout PDF" u všech tabulek (Seznam žáků, Docházka, Ankety).
- Export do CSV: Tlačítko "Stáhnout CSV" u všech tabulek (Seznam žáků, Docházka, Ankety). Pokud je relevantní, tak formát pro ŠkolaOnline.
- Struktura: Čitelná pro člověka i stroje (žádné sloučené buňky).
9. Marketing a Komunikace (Blog & Newsletter) — FÁZE 2
- Status: Odloženo. MVP focus = Chat + Evidence + Docházka. Blog řeší WordPress.
10. Generování Metodických Listů (VIZE - FÁZE 2)
- Status: Zatím neřešit, priorita je komunikace.
- Cíl: Automatizovat přípravu podkladů pro učitele.
11. Integrace
- Viz dedikovaný dokument: Integrace (Pohoda, ŠkolaOnline, Google, Strava.cz, CLIL).
12. Notifikace a Upozornění
- Cíl: Dostatečně informovat, ale neobtěžovat ("Signal, not Noise").
- Kanály:
- Email: Pro kritické věci (Faktura, Reset hesla, Urgentní zpráva ředitele).
- Push Notifikace: Pro web/mobil (Nový příspěvek v evidenci, Zpráva v chatu).
- Nastavení: Uživatel si může vybrat, co chce dostávat (např. vypnout upozornění na obědy).
13. Souhrn (Killer Feature ⭐)
- Cíl: "Proč si nainstalujete appku? Protože pokaždé, když ji otevřete, víte, co se děje."
- Dopad: Souhrn je pinnutá karta v Feedu — hlavní důvod otevřít appku.
- Adaptivní souhrn ("Od poslední návštěvy"):
- Systém trackuje
last_seen_atpro každého rodiče. - Při otevření appky AI vygeneruje souhrn za období od poslední návštěvy:
- < 4 hodiny: "Právě probíhá: Matematika — zlomky 🍎. Od rána: ✅ dorazila 8:05, 📸 1 nová fotka."
- 1 den: "Včera: 📸 2 nové práce, oběd č. 2, odchod 15:30."
- 1 týden: "Minulý týden: 📸 5 prací, docházka 100 %, výlet na Šumavu (fotky)."
- 3+ týdny: "Za 3 týdny: 📸 12 prací, 3 omluvenky, docházka 92 %." → po týdnech → dnech → detail.
- Zero config — rodič nemusí nic nastavovat, vše automaticky.
- Systém trackuje
- Push re-engagement: Pokud se rodič nepřihlásí 3+ dny → "Anička měla zajímavý týden — mrkněte se! 📸"
- 🔮 Přehled zítřka: Každý den od ~14:00 karta s rozvrhem, obědem, kroužky + zvýrazněné výjimky. Viz Rozhodnutí (Feed).
- Drill-down navigace (ve 2 osách):
- Časová: Souhrn → Týden → Den → Detail (granularita dle období).
- Tematická: Souhrn → Detail kategorie (Fotky / Evidence / Docházka / Komunikace).
- Pro ředitele: "Dnes chyběli 3 žáci, Sofie odbavila 15 dotazů, 2 tickety čekají."
- Generováno AI: Sofie automaticky sestaví z dat v DB (evidence, docházka, tickety).
- Personalizovaný styl (nastavitelný rodičem):
- Příběh: "Anička dnes pracovala na projektu o vesmíru. S kamarádkou Eliškou vytvořily plakát..." (narativní, emoční).
- Odrážky: "• Matematika: zlomky. • Čtení: 20 min. • Oběd: č. 2. • Odchod: 15:30." (strohé, faktické).
- AI si pamatuje preferenci a generuje souhrn v odpovídajícím tónu.
Nefunkční požadavky
- UX/UI: Maximální jednoduchost ("Apple-like"). Učitel nesmí trávit čas klikáním.
- AI: Využití Gemini API.
- Dostupnost: Webová aplikace (responzivní pro mobily/tablety).
- Bezpečnost: Ochrana osobních údajů dětí (GDPR). Data musí být uložena v EU (Supabase Frankfurt).
- IVP: Individuální vzdělávací plány se ukládají jako
work_item(source: 'ivp') + soubory v Supabase Storage. Separátní tabulku řešit až bude jasný workflow. - Fallback (odpůrci appky): Rodič, který odmítá technologii → telefonát kanceláři, učitel zadá za rodiče. Kritické akce (omluvenky, vyzvedávání) musí jít přes appku — škola toto definuje jako minimum.
Měřitelné cíle (KPI)
Adopce
- 80 % rodičů s aktivním účtem do 1 měsíce od spuštění.
- 90 % omluvenek zadáno přes appku do 3 měsíců.
Efektivita AI
- 70 %+ dotazů odbaveno Sofií bez eskalace.
- Snížení emailů řediteli o 50 % do 6 měsíců.
Spokojenost
- Pravidelný sběr zpětné vazby od rodičů (kvartálně):
- "Co vás trápí? Co byste chtěli zlepšit? Jak hodnotíte? Co se vám líbí?"
- Realizováno přes ankety v appce (Sofie se zeptá).
- Dashboard pro ředitele: Vyhodnocení spokojenosti v čase (trendy, grafy).