Přeskočit obsah

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 v docs/intent/, ne tady. Tento dokument je inspirační, ne závazný.

Přesunuto z ARCHITECTURE.md 2026-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_events view, 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