Digitální ekosystém
Young Lions Czechia: Od manuálních registrací k systému, který si organizátoři ovládají sami
Spolupráce začala jako technická správa existujícího WordPress webu. Postupně z ní vznikla automatizace registrací, přihlášek a vstupu do komunity Circle. Ta během let narostla do čtyř samostatných pluginů, a tak přišel druhý krok: přepis do jednoho modulárního systému, ve kterém si organizátoři připraví celý ročník sami, bez vývojáře. Na konci stojí systém převzatý za provozu, bez výpadku, a zdokumentovaný tak, aby ho převzal i nový správce.
- 4 → 1
- pluginů v jednom modulárním systému
- Bez vývojáře
- ročník připraví organizátor sám
Výchozí stav
Technické řešení rostlo postupně a obsahovalo řadu historických úprav. Největším problémem ale bylo velké množství manuální práce spojené s registracemi, přihláškami a správou uživatelů. Organizátoři museli řešit:
- manuální zpracování registrací
- správu přihlášek a dokumentů
- komunikaci s účastníky
- správu uživatelských přístupů
- práci s několika oddělenými systémy
- provozní problémy webu
Stabilizace platformy a migrace infrastruktury
První rok spolupráce jsem věnoval především technické správě a stabilizaci celého řešení:
- převzetí technické správy WordPressu
- řešení provozních problémů
- průběžnou údržbu systému
- správu hostingu, DNS a SSL certifikátů
- technickou podporu organizačního týmu
Významnou součástí byla kompletní migrace infrastruktury na nový hosting včetně převodu domén, DNS konfigurací a e-mailových služeb — bez přerušení provozu. Vzniklo tak stabilní prostředí připravené pro další rozvoj.
Automatizace registrací a integrace Circle
Po stabilizaci jsem se zaměřil na registrace a přihlášky, které obsahovaly řadu manuálních kroků. Vznikly vícekrokové formuláře s automatickou validací dat, správou příloh, potvrzovacími e-maily a přehlednou administrací přihlášek. Pro program Roger Hatchuel Student Academy vznikl samostatný registrační systém a stejný princip jsem rozšířil i na odevzdávání soutěžních prací.
Druhou částí bylo propojení webu s komunitní platformou Circle. Registrace automaticky založí účet v komunitě, synchronizuje data, přiřadí přístupová práva a zařadí uživatele do správných programů. Účastníci se do komunity dostávají prakticky okamžitě, bez zásahu administrátora.
Proč přišel přepis
Automatizace fungovala, ale rostla po částech. Z přihlášek, odevzdávání prací, akademie RHSA a plateb se staly čtyři samostatné pluginy, každý s vlastní frontou, e-maily a napojením na Dropbox a Circle. To mělo své limity:
- každý nový ročník znamenal úpravy konstant v kódu a zásah vývojáře
- chyba v nastavení se projevila až ve chvíli, kdy se přihlásil první tým
- platby ze Stripe se fakturovaly do Fakturoidu bez kontroly, jestli faktura opravdu vznikla
Všechny čtyři části jsem proto převedl do jednoho modulárního pluginu, který si organizátoři ovládají sami.
Ročník v administraci místo v kódu
Celý ročník se nastavuje v administraci: termíny, kategorie, formulář, tagy a skupiny v Circle, složky v Dropboxu, e-maily i akademie. Nový ročník vznikne kopií předchozího.
- Kontrola ročníku před spuštěním ověří proti živému Circle a Dropboxu, že tagy, skupiny i složky opravdu existují. U každého problému řekne, co dělat, a odkáže přímo na pole v nastavení.
- Simulace ročníku ukáže, kam dopadne testovací přihláška, a umí ji zapsat naostro do testovacích kopií. Pak všechno uklidí.
Převzetí provozu bez výpadku
Starý a nový systém běžely souběžně. Každou část — účet, přihlášky, odevzdávání, akademii, synchronizaci s Circle i platby — převzal nový plugin samostatně, jedním přepínačem v administraci.
- Každý přepínač měl podmínky a nedovolil převzetí, dokud nebyly splněné.
- Až do konečného vypnutí starého systému šel každý krok vrátit jedním kliknutím, bez nasazení.
- Synchronizaci s Circle a platby nový systém nejdřív jen sledoval a porovnával se starým. Naostro je převzal teprve po ověření, že se výsledky shodují.
Platby: Stripe → Fakturoid
- Faktura vzniká jen za skutečně zaplacenou platbu.
- Oddělená testovací a ostrá dráha. Testovací platba nikdy nevystaví ostrou fakturu.
- Denní kontrola porovná Stripe s fakturami a upozorní na chybějící faktury.
- Přehled plateb s grafem, frontou „čeká na vás“ a kontrolou připravenosti napojení.
Spolehlivost a bezpečnost
- Jedna společná fronta úloh pro e-maily, nahrávání do Dropboxu, synchronizaci s Circle i faktury: s prioritami, opakováním a ochranou proti dvojímu odeslání.
- Selhání nikdy není tiché. Každá neúspěšná úloha je vidět v administraci s vysvětlením a tlačítkem pro opakování.
- Ověření e-mailu před vstupem do komunity.
- Limity pokusů o přihlášení, které nezablokují celou školu za jednou IP adresou.
- Ochrana formulářů proti požadavkům z cizích webů a skrytý seznam uživatelů.
- Každá část před nasazením prošla nezávislou bezpečnostní revizí.
Jak to vznikalo
Přepis jsem vedl jako architekt a vlastník rozhodnutí. Implementaci po fázích dělali AI agenti (Claude Code) podle mnou schválených plánů a každou fázi pak nezávisle zrecenzoval další agent. Každá změna musela projít více než 3 500 automatickými testy na dvou verzích PHP a proti skutečné databázi, než se dostala na produkci.
Provoz a předání
Během klíčových termínů — spuštění registrací a programů — jsem zajišťoval technickou podporu týmu, monitoring a řešení incidentů. Součástí přepisu bylo i předání: nápověda přímo v administraci s více než 30 krátkými články, odkaz „How to fix“ u každé chyby, dokumentace a provozní příručka. Systém tak zvládne převzít i nový správce.
Závěr
Z manuálních registrací a roztříštěných systémů vznikl jeden systém, který organizátoři ovládají sami. Ročník si připraví bez vývojáře, chyby v nastavení se ukážou před spuštěním, ne až u prvního týmu, a platby se fakturují automaticky a kontrolují každý den. Každá část je zdokumentovaná tak, aby ji převzal i nový správce.
Použité technologie
- PHP 8.3/8.4
- MariaDB
- WordPress
- REST API
- Circle Admin API a SSO (OAuth)
- Dropbox API
- Stripe
- Fakturoid API
- GitHub Actions (CI/CD)
- PHPUnit
- PHPStan
- Claude Code
Výsledky
- stabilizace prostředí a migrace infrastruktury bez přerušení provozu
- automatizace registrací, přihlášek a programu RHSA
- automatický vstup do komunity Circle
- čtyři pluginy sjednocené do jednoho modulárního systému
- nový ročník bez zásahu vývojáře
- kontrola nastavení proti živým systémům před spuštěním
- převzetí za provozu, bez výpadku a s možností vrácení
- automatická a denně kontrolovaná fakturace
- bezpečnostní balíček a nezávislé revize
- dokumentace a nápověda pro předání dalšímu správci