web hokejového klubu

Klient

HC Čestice

Role

Fullstack — migrace dat, datový model v CMS, frontend, testy, CI/CD a nasazení.

Rok

2026

Stack

Next.js 16, React 19, Payload CMS 3, PostgreSQL, TypeScript, Tailwind CSS, Playwright, Vitest, Docker

Next.js 16React 19Payload CMS 3PostgreSQLTypeScriptTailwind CSSPlaywrightVitestDocker

Projekt

Web hokejového klubu HC Čestice — aktuality, rozpis a výsledky zápasů včetně amatérské hokejové ligy, soupiska hráčů, fotogalerie, historie klubu, sponzoři a klubové produkty. Projekt byl kompletní migrací ze zastaralého webu na moderní CMS se zachováním celého archivu i původních URL.

Fullstack — migrace dat, datový model v CMS, frontend, testy, CI/CD a nasazení.

HC Čestice — snímek obrazovky 1
HC Čestice — snímek obrazovky 2
HC Čestice — snímek obrazovky 3
HC Čestice — snímek obrazovky 4

Co jsem řešil

Kompletní migrace archivu ze starého webu — parser XML exportu a importní pipeline pro články, sekce, galerie a soubory, plus seed skripty pro hráče, zápasy, sestavy AHL, milníky historie, sponzory a produkty.

Zachování původních URL — generátor redirectů z legacy cest na nové stránky, takže migrace nestála klub ani jeden zpětný odkaz nebo pozici ve vyhledávání.

Adaptérová vrstva nad navigačním pluginem, který je nezralý — srovnává jeho chování a shodí build výjimkou, když se plugin změní. Bez toho by se regrese projevila jen anglickým adminem a nikdo by nepoznal proč.

Vlastní navigační model oddělující text odkazu, kotvu a cestu, s resolverem drženým mimo server-only konfiguraci CMS — jinak by se CMS dostalo do klientského bundlu a build by spadl.

Cache navigace řízená tagem místo času, s revalidačními hooky na vytvoření i smazání — bez nich má cache TTL jeden rok; importní skripty revalidaci vypínají.

Auditní log doplněný o ID dokumentu a autora změny, které použitý plugin sám neloguje, a zamčený na read-only, aby přihlášený správce nemohl mazat vlastní stopu.

Redakční funkce — layout builder, draft a live preview, on-demand revalidace, fulltext, form builder, reCAPTCHA v3, sitemapy dělené po typech obsahu a režim údržby.

Kvalita — e2e testy v Playwrightu, integrační ve Vitestu, guard na design tokeny a typecheck v jednom příkazu, interní katalog UI vzorů a widgetů.

Let's talk about your project!