MVP — Scope a Fázování
Poslední aktualizace: 2026-04-22
Fáze 0: Sofie CC email (odloženo na Fázi 3)
Stav (2026-05-11): Tato fáze byla plánována paralelně s MVP třídnicí, ale n8n byl odstraněn. CC email pipeline se implementuje až v Fázi 3 jako součást Sofie persona. Viz SOFIE.md.
Cíl: škola se zmapuje organicky přes CC emaily.
- CC email trigger: Ředitel přidá
sofie@sofie.educationdo CC → Cloudflare Email Worker → Next.js API → Gemini extrahuje fakta → BookStack draft - Chat trigger: Ředitel komunikuje se Sofií přes chat widget
- RAG: BookStack → pgvector (Supabase) → similarity search → odpovědi s kontextem
Fáze 1: MVP třídnice (teď)
Cíl: Fungující třídnice pro 2 třídy na app.sofie.education
Uživatel: Učitelé (průvodci) v Kentauru a Phenixu
Scope
- 2 třídy: Kentaur (4.+5.), Phenix (6.+7.)
- 2 core features:
- Třídnice: docházka "kdo chybí?" + téma per ročník/žák
- Evidence žáků: read-only seznam s kontakty na rodiče
- Rodič: nemá přístup do appky (jen kontakt v evidenci)
Architektonické disciplíny
Viz invariants.md sekce Architektonické disciplíny:
1. INV-ARCH-01 — endpointy přes Zod schema
2. INV-ARCH-04 — RLS v rolích, ne hardcoded auth.uid()
3. INV-ARCH-02 — auth client podporuje cookie i Bearer
4. INV-ARCH-03 — žádné JSON bloby pro core domain data
Deployment
| Služba | Technologie | Region |
|---|---|---|
| Databáze | Supabase (Frankfurt EU) | EU |
| Frontend | Vercel — Next.js app | Free tier (MVP) |
| Soubory | Supabase Storage (RLS z boxu) | EU Frankfurt |
Auth
- Google OAuth (školní
@sofie.educationúčty) - Dual auth middleware připravený na Bearer tokens (pro MCP později)
Design
- Mobile-first (učitel na hodině, jeden palec)
- Responsive desktop — týdenní grid, klávesové zkratky (ne roztažený mobil)
- UI kit: Shadcn/ui + Tailwind
Fáze 2: Vrstvy "velmi brzy"
Seřazeno podle priority, stavíme přímo na MVP třídnici:
- Příprava na hodinu — plán témat dopředu, na hodině se předvyplní
- Audio debrief — voice input pro přiřazení témat + reflexe
- Mimořádné dny — UI pro override napříč třídami
- Zastupování — UI pro převzetí hodiny jiného učitele
- Družina — společná pro obě třídy
Detaily: ideas/roadmap.md
Fáze 3: Rodič
- Omlouvání → auto "O" v docházce
- Odchody a vyzvedávání (samostatný odchod, pickup)
- Feed — timeline aktivit dítěte
- Adaptivní summary — Gemini shrne co se změnilo od poslední návštěvy
- Sofie chat — FAQ z KB, omluvenky, informace o vyzvedávání
- Push notifikace (PWA)
Fáze 4: Backend pro integrace
- MŠMT export — data relační, export je SQL → CSV/XML
- OpenAPI spec — generovaný ze Zod schemas
- MCP wrapper — agent přes OpenAPI
- Gemini/Claude integrace — AI asistent pro učitele
Fáze 5+: Students
- Přístup žáků — školní Google účet
- Sokratův průvodce — Gemini AI tutor (sokratovská metoda)
- Tracking kompetencí — progress per žák
- Learning profile — 360° z dat napříč platformami