Přejít na obsah
Všechny projekty
Aktivní vývojPlánování směn · 2026

Roster

Plánování směn s optimalizačním solverem, webovou administrací a nativní mobilní aplikací pro zaměstnance.

🔒 Soukromý repozitář

01 Problém

Provozní tým z oblasti cestovního ruchu plánoval směny ručně v tabulkách. Pravidla o odpočinku, kvalifikacích, svátcích a férovosti existovala jen v hlavách lidí, takže každý plán trval hodiny a rozpadl se, kdykoli někdo vypadl.

02 Co aplikace dělá

  • Automaticky generuje rozpisy pomocí Google OR-Tools CP-SAT; tvrdá pravidla i měkké preference jsou zapsané jako omezení.
  • Webová administrace pro plánovače: zaměstnanci, dostupnost, pravidla, kontrola plánu a ruční úpravy.
  • Nativní Flutter aplikace, kde zaměstnanci vidí směny a zadávají dostupnost.
  • Export do XLSX, PDF a iCal; české státní svátky se řeší automaticky.

03 Architektura

  1. 01 MobileFlutter aplikace s generovaným Dart (dio) API klientem
  2. 02 AdminNext.js administrace v monorepu se sdíleným balíčkem API klienta
  3. 03 APIFastAPI, SQLAlchemy 2, Argon2 + přihlášení Googlem
  4. 04 SolverModel OR-Tools CP-SAT jako izolovaný, testovaný modul
  5. 05 DataPostgreSQL s migracemi Alembic
  6. 06 OpsNasazení přes Docker + Compose, samostatný QA image pro review

04 Technologie

FastAPIPython 3.12OR-Tools CP-SATPostgreSQLSQLAlchemyAlembicNext.jsFlutterDocker

05 Jak jsem pracoval s AI

Omezení solveru jsem nejdřív ručně sepsal jako pravidla v běžném jazyce s příklady. Agenti je pak implementovali po jednom, každé s vlastním testem. OpenAPI schéma generuje Dart klienta, takže agenti na frontendu pracují proti kontraktu a nehádají.

06 Co je ověřené

  • CP-SAT solver implementovaný s vlastní sadou testů.
  • Backend: 23 souborů pytest; frontendové monorepo: 29 testovacích souborů.
  • 12 migrací Alembic, Docker image a nasazení přes Compose.

07 Upřímné poznámky

  • Vzniklo pro konkrétního klienta, jehož název neuvádím. CI pipeline zatím chybí, testy se spouští lokálně.

08 Screenshoty

Vstupy plánování a nastavení solveru pro jeden měsíc
Výsledek CP-SAT ověřený nezávislým validátorem
Zaměstnanci s pracovními režimy a rolemi (DEMO data)
Další projektDocházka SaaS