← Zpět na přehled

Matrika pro lesní školku

Povinný výkaz o dětech pro MŠMT dnes vzniká skriptem z jedné tabulky, nikdo v něm nepíše věty ručně. Skripty vznikly za jedno odpoledne a večer, poslední opravy podle ostrého serveru přišly dopoledne v den termínu.

Odpoledne a večer
od rozboru po import bez chyb na testovacím serveru MŠMT
1 tabulka
koordinátorka vede data, věty a XML počítá skript
Node.js + Google Drive
bez dalších knihoven, data o dětech mimo kód

Klientem je lesní mateřská škola v Praze. Od září 2025 posílají i mateřské školy na MŠMT dvakrát ročně údaje o každém dítěti, takzvanou matriku: soubor XML, ve kterém má každé dítě jednu nebo více vět podle toho, kdy nastoupilo, odešlo nebo se mu něco změnilo. Podzimní termín byl 15. října 2026.

Jarní soubor vznikl ručně v tabulce, 68 vět za 49 dětí, a ruční psaní vět se neobejde bez chyb: chybějící datum odchodu, chybějící věta po pololetí, věta začínající před nástupem dítěte. Cílem bylo, aby věty nikdo nepsal ručně.

Školka eviduje děti ve Webookeru. Ten matriku umí, ale záznam se vyplňuje a ověřuje u každého dítěte zvlášť v administraci a hotový soubor se ručně stahuje a nahrává. Jeho API popisuje jen semestry, kurzy a novinky, data o dětech jsme z něj nedostali. Použili jsme z něj exporty docházky, ze kterých skript počítá zameškané dny předškoláků.

Jak to probíhalo

  1. ÚtRešerše: pokyny MŠMT, matrika a API Webookeru.
  2. St odpoledneSe školkou nad jarním souborem. API data o dětech nevydá, návrh: jedna tabulka a skript.
  3. St večerSkript: věty, kontroly, XML. Testovací server MŠMT, 150 vět bez chyby.
  4. Čt dopoledneOstrý server, poslední opravy, XML se 153 větami.

Koordinátorka školky vede jednu tabulku na Google Drivu: nástup, odchod, třída, bydliště, způsob vzdělávání. Skript si ji stáhne, zkontroluje, rozdělí pobyt každého dítěte ve školce na věty podle pravidel MŠMT a vrátí na Drive dva soubory: tabulku vět ke kontrole očima a XML pro MŠMT. Chybové věty jdou do zvláštního souboru, koordinátorka je opraví a skript se pustí znovu.

Na testovací server MŠMT soubor neklikal člověk, nahrával ho skript v prohlížeči a stahoval protokol chyb. Kolo „nahrát, přečíst, opravit“ šlo proto rychle a ukázalo pravidla, která z dokumentace MŠMT nebyla zřetelná: věta o ukončení docházky musí mít jiný příznak, zameškané dny smí být jen na jedné větě a dítě nové od září nesmí mít žádné.

Co dělala AI a co člověk

AI

  • Prošla pokyny MŠMT, nápovědu a API Webookeru a sepsala postup krok za krokem.
  • Navrhla a napsala skripty: věty, kontroly, XML, zameškané dny z docházky.
  • K nim 98 testů nad smyšlenými dětmi.
  • Nahrávala XML na testovací server MŠMT a podle protokolu chyb opravovala skript.

Člověk

  • Koordinátorka vede tabulku dětí a opravuje v ní, co skript označí jako chybu.
  • Rodné číslo, které neprojde kontrolou, se ověřuje podle rodného listu, ne odhadem.
  • Jakub vedl práci a navrhl architekturu celého řešení tak, aby se spolehlivě stihlo do termínu MŠMT.

Technologie

Skripty jsou v Node.js bez dalších knihoven, převody mezi Excelem a CSV v Pythonu, Google Drive obsluhuje rclone, testovací server MŠMT Playwright v Dockeru. Hesla jsou šifrovaná přes sops. Data o dětech zůstávají mimo git, testy běží nad smyšlenými dětmi.

Modely: Claude Fable 5.1 a Claude Opus 5.5 (Anthropic) na rešerši, postup, skripty i testy.


Přepisujete kvůli úřadu data z jednoho systému do druhého?

Domluvit schůzku