MVP — Scope a Fázování
Poslední aktualizace: 24. března 2026
Fáze 0: Sofie CC email (paralelně)
Běží paralelně s vývojem Fáze 1. Cíl: škola se zmapuje organicky.
- n8n workflow + Vertex AI (Gemini Flash/Pro) — already running na
ai.sofie.education - CC email trigger: Ředitel přidá
sofie@sofie.educationdo CC → n8n extrahuje fakta, osoby, úkoly → BookStack draft - Chat trigger: Ředitel komunikuje se Sofií přes chat widget na
ai.sofie.education - RAG: BookStack → pgvector (Supabase) → similarity search → odpovědi s kontextem
- Internal testing: Ředitel používá denně, dává feedback, KB roste organicky
Stack
| Komponenta | Technologie |
|---|---|
| Orchestrátor | n8n (GCP VM, e2-small) |
| LLM | Vertex AI Gemini 2.0 Flash/Pro (europe-west3) |
| Znalostní báze | BookStack (wiki.sofie.education) |
| RAG storage | Supabase pgvector (EU Frankfurt) |
| Email trigger | Gmail API (CC na sofie@sofie.education) |
Fáze 1: Evidence žáka (MVP pro ředitele)
Cíl: Funkční prototyp na app.sofie.education
Uživatel: Ředitel + kancelář (sekretářka)
Deployment
| Služba | Technologie | Region |
|---|---|---|
| Databáze | Supabase (Frankfurt EU) — staging + prod | EU |
| Frontend | Vercel — Next.js app | Free tier (MVP) |
| Soubory | Supabase Storage (RLS z boxu, 100 GB na Pro) | EU Frankfurt |
Backend (Supabase)
Tabulky:
- profiles — uživatelé (učitelé, ředitel, rodiče)
- students — evidence žáků (osobní údaje, třída, stav, zdravotní info)
- classes — třídy
- student_guardians — vazba žák ↔ zákonný zástupce
- documents / student_files — právní dokumenty žáka (smlouvy, souhlasy, RL)
RLS (Row Level Security): - Ředitel/admin vidí vše - Učitel vidí žáky svých tříd - Rodič vidí jen své děti
Auth:
- Google OAuth (školní @sofie.education účty)
- Apple Sign In
- Magic Link (pro rodiče bez Google účtu)
Frontend (Next.js)
App shell:
- Auth (Supabase Auth + middleware)
- Role-based routing (ředitel vs. učitel vs. rodič)
- i18n CZ/EN (next-intl)
Stránky:
/students → Seznam žáků s filtrem podle třídy
/students/[id] → Karta žáka (osobní údaje, zákonní zástupci)
/students/[id]/documents → Upload a preview právních dokumentů
Seznam žáků (/students):
- Tabulka: Jméno, Třída, Stav, Zdravotní kód
- Filtr podle třídy, vyhledávání
- Řazení podle příjmení
Karta žáka (/students/[id]):
- Osobní údaje (datum narození, rodné číslo, pojišťovna, adresa, VS)
- Zákonní zástupci (jméno, email, telefon, vztah, primární kontakt)
- Propojení sourozence se stávajícím rodičem (podle emailu)
Dokumenty (/students/[id]/documents):
- Upload právních dokumentů (smlouva, GDPR souhlas, RL, ZP kartička)
- Preview PDF/obrázků
- Storage: GCP Bucket ({student_id}/evidence/...)
CSV import: - Hromadný import žáků ze ŠkolaOnline (CSV) - Mapování sloupců, validace, preview před importem
Design
Funkční prototyp. Works > looks.
- UI kit: Shadcn/ui (Tailwind CSS)
- Žádný custom design systém pro MVP
- Responsive (desktop-first, funguje na tabletu)
Fáze 2: Teacher Tools
- PM Kanban (Todo/Doing/Done, zodpovědná osoba, deadline) — vlastní modul v Kosmu
- Portfolio upload (foto práce žáka + popis) — základ pro rodičovský feed
- Generování pracovních listů (Sofie chat → n8n → Gemini → Typst → PDF)
- Generování dokumentů (WYSIWYG TipTap editor → šablony s proměnnými → Typst → PDF)
- Hlasový debrief (přepis porady → extrakce úkolů → PM modul)
Detaily: BACKLOG.md
Fáze 3: Parent Feed + Communication
- Feed (
/feed) — timeline aktivit dítěte (fotky, projekty, slovní hodnocení) - Adaptivní summary — Gemini shrne co se změnilo od poslední návštěvy rodiče
- Sofie chat pro rodiče — FAQ z KB, omluvenky, informace o vyzvedávání
- Multi-child feed — rodič s více dětmi, filtr podle dítěte
- Push notifikace (PWA)
Fáze 4+: Students
- Přístup žáků — přihlášení školním Google účtem (
@sofie.education) - Sokratův průvodce — Gemini AI tutor (sokratovská metoda, ne podávání odpovědí)
- Gamifikace — osobní milníky, Montessori-kompatibilní (bez soutěžení, vnitřní motivace)
- Learning profile — 360° profil učení z dat napříč platformami (IXL, Khan, Brilliant)