Vize: Feed + Messaging (Fáze 3+)
Status: Vize, ne kontrakt. Žádný intent brief ani implementace zatím neexistuje. Až bude PO ready feature zahájit, spustí
/define→ vznikne brief vdocs/intent/, ne tady. Tento dokument je inspirační, ne závazný.Přesunuto z
ARCHITECTURE.md2026-05-13 jako součást I³ doc cleanup.
Feed — Hlavní obrazovka rodiče (Fáze 3+)
Výchozí landing page rodiče je chronologický feed (à la Instagram) o jeho dětech a školních událostech. Ředitel a učitel si ponechávají klasický dashboard.
Proč Feed?
- Rodič → dítě: Při vyzvedávání se dívám do appky a vím, na co se zeptat. „Tak jaký byl ten projekt o vesmíru?" místo „Co jste dělali?" → „Nevím."
- Rodič → učitel: Vidím, že učitel fotí práce, eviduje → cítím hodnotu školy → důvěra.
- Učitel → rodič: Učitel ví, že rodič reaguje → motivace evidovat.
- Engagement loop: Appka žije, rodič se vrací, data pro AI rostou.
Struktura feedu
┌─────────────────────────────────┐
│ Souhrn od poslední návštěvy │
│ "Od včera: 2 nové fotky, │
│ Přítomna, Oběd č. 2" │
├─────────────────────────────────┤
│ Evidence (14:30) │
│ [Fotka práce] │
│ "Anička — Projekt vesmír" │
├─────────────────────────────────┤
│ Zpráva školy (12:00) │
│ "Zítra nezapomeňte gumáky!" │
├─────────────────────────────────┤
│ Jídelníček (11:00) │
│ "Oběd: Kuřecí řízek..." │
├─────────────────────────────────┤
│ Docházka (8:05) │
│ "Anička dorazila v 8:05" │
└─────────────────────────────────┘
[Sofie] ← FAB overlay
Typy feed items
| Typ | Zdroj | Příklad |
|---|---|---|
| Adaptivní souhrn | AI (pinned) | Souhrn od poslední návštěvy (auto-granularita) |
| Přehled zítřka | AI (od 14:00) | „Zítra: Škola do 13:30, plavání, přineste gumáky!" |
| Evidence/fotka | Učitel / Služba | Fotka práce + AI štítek |
| Docházka | Systém | „Dorazila v 8:05" |
| Družina | Vychovatel/ka | „Anička je v družině. Odchod: 15:30." |
| Kroužek | Systém / Lektor | „Dnes: Šachy 14:00" / „ZRUŠENO" |
| Zpráva školy | Ředitel / Učitel | „Zítra výlet — gumáky!" |
| Jídelníček | strava.cz (cron) | „Oběd č. 1: Řízek" |
| Akce / kalendář | Kalendář | „Za 3 dny: Třídní schůzka" |
| Odpověď na dotaz | Sofie / Učitel | „Odpověď na váš dotaz" |
| Platba (Fáze 2) | Pohoda (sync) | „Školné únor: zaplaceno" |
Multi-child
Rodič s více dětmi vidí prolínající se feed s avatarem/tagem dítěte. Filtr: „Jen Aničku" / „Jen Tomáše" / „Vše".
Sofie Overlay (FAB)
- Plovoucí tlačítko vpravo dole.
- Klik → otevře chat panel (slide-up nebo sidebar).
- Vždy dostupný. Badge s počtem nepřečtených zpráv.
Přehled zítřka (Tomorrow Preview)
Každý den od cca 14:00 karta s přehledem následujícího dne: - Běžné položky: rozvrh, konec školy, oběd, plánovaný odchod, kroužky. - Zvýrazněné výjimky: výlet, plavání, „přineste si...". - Akce potřeba: nepodepsané souhlasy, nezaplacené platby. - Generuje AI z rozvrhu, kalendáře a školních dat. - Push: „Sofie: Zítra plavání — nezapomeňte plavky!"
Adaptivní souhrn („Od poslední návštěvy")
Systém trackuje last_seen_at per rodič. Při otevření appky AI souhrn za období od last_seen_at:
- < 4 hodiny: Live stav.
- 1 den: Včerejší souhrn.
- 1 týden: Týdenní → rozklik po dnech.
- 3+ týdny: Souhrn za delší období → týdny → dny → detail.
Zero config. Push re-engagement po 3+ dnech bez návštěvy.
Skupinový chat / Komentáře — NE
Reakce místo diskuze. Důvody: moderace, GDPR, scope creep, negativity bias. Pro volné diskuze mezi rodiči slouží WhatsApp komunity školy.
| Funkce | Popis |
|---|---|
| Reakce | Rodič „lajkne" fotku práce dítěte. Učitel vidí počet → motivace. |
| Strukturované odpovědi | „Kdo jede na výlet?" → tlačítka Ano/Ne. |
| Otázky → Sofie | Rodič má dotaz? Zeptá se Sofie. |
| Privátní zpráva učiteli | Přes Sofii jako prostředníka, nebo přímo. |
Důsledky pro architekturu
- Feed a Sofie jsou Fáze 3+. V MVP (Fáze 1) existuje jen třídnice pro učitele — rodičovský pohled není implementován.
- Až přijde feed:
feed_eventsview, který agreguje data z různých tabulek do chronologického streamu.
Messaging & Email: Walled Garden (no-reply)
Aplikace je jediný kanál pro komunikaci rodič ↔ škola. Emailové notifikace jsou „hluché" (noreply@) — nutí rodiče kliknout a odpovědět v aplikaci.
- Rodič nepíše „paní učitelce", ale píše Sofii (AI Chatbot), která buď odpoví sama, nebo eskaluje.
- Pokud někdo napíše email, učitel může odkázat na aplikaci.
- Důsledek: Žádný „split-brain" (půlka v mailu, půlka v chatu). Pravda je v ticketu/konverzaci v aplikaci.
Plánované moduly (mimo MVP)
Pro orientaci — nic z toho zatím není implementováno. Pořadí jen orientační, řídí ho /define priority od PO.
| Modul | Účel |
|---|---|
evidence |
Evidence prací žáků — úkoly, projekty, testy, fotky; AI štítkování |
attendance-chat |
Chat-based docházka/vyzvedávání („Dnes vyzvedne babička") — safety gate flow |
surveys |
Interaktivní chat ankety (tlačítkové odpovědi) |
communication |
Sofie chatbot — RAG nad daty žáka + Knowledge Base školy |
components/ai |
Reusable UI primitiva pro AI interakce |
export |
XLSX / Google Sheets / PDF / CSV exporty |