Běh Adventáka
Soubor tří provázaných webů pro adventní charitativní běhy - převzetí rozpracovaného projektu, jeho sjednocení a dotypování, platby přes GP WebPay a žebříčky z dat ze Stravy.



// Zadání
Tři weby, převzatý a napůl hotový kód
Projekt jsem přebíral rozpracovaný a s hotovým designem - soubor tří provázaných webů (behadventaka.cz, adventnibehani.cz, adventaci.cz) pro adventní charitativní běhy. Kód se opíral o spoustu `any`, měl minimum serverové logiky a chyběl mu jednotný základ.
Prvním úkolem bylo dát to do pořádku: sjednotit přístup napříč všemi třemi weby, vše dotypovat a přesunout maximum logiky z klienta na server.
// Architektura
Typovaný základ a GraphQL nad databází
Datovou vrstvu jsem postavil na GraphQL s vlastními resolvery nad databází, takže všechny tři weby čerpají ze stejného typovaného API. Odstranění `any` a převod logiky na server přinesly předvídatelnost - méně chyb za běhu a údržba tří webů z jednoho místa.
- Sjednocení tří webů na společný typovaný základ
- GraphQL API s resolvery nad databází
- Přesun logiky z klienta na server, konec `any`
// Platby & data
GP WebPay v Nodu a žebříčky ze Stravy
Platební bránu GP WebPay jsem implementoval podle oficiální PHP dokumentace - podpisy, callbacky i celý transakční tok jsem přepsal do Node.js. Na webech fungují darovací i platební formuláře.
Výsledky běžců se tahají přes napojení na Stravu a agregují do živých žebříčků.
- GP WebPay v Node.js podle PHP dokumentace - podpisy, callbacky, transakce
- Darovací a platební formuláře
- Integrace na Stravu a agregace dat do žebříčků
// Backoffice & provoz
Strapi pro obsah a vyladěný provoz
K webům patří rozsáhlý backoffice ve Strapi, kde vzniká veškerý obsah a články. Navrhl jsem kolekce, modely a jejich vazby tak, aby redaktoři už jen doplňovali obsah - bez zásahu vývojáře.
Napříč všemi weby jsem řešil cachování stránek, optimalizaci obrázků a observabilitu přes Sentry.
- Strapi: návrh kolekcí, modelů a vazeb pro samoobslužnou správu obsahu
- Cachování stránek a optimalizace obrázků pro rychlé načtení
- Observabilita a hlídání chyb přes Sentry
// Stack
// Další projekty
Chytron
Platforma pro psychometrické testování s výsledky normovanými podle věku, sdílením s odborníky a gamifikovaným přístupem.
OtevřítPlanet Romance
Kompletní redesign seznamovací agentury a migrace šestnácti let dat ze tří starších systémů do jedné platformy.
OtevřítERP pro strojírenství
Interní ERP pro strojírenskou firmu - poptávky, nabídky, zakázky, kusovníky a sklad. Od návrhu po on-premise provoz na serveru klienta.
Otevřít