Střídej.cz

Klient Realizace Rok 2024 až nyní
Webová aplikace na míru pro amatérské hokejisty – rezervace, správa hal, notifikace a automatizace v jednom. Postaveno od základu v Laravelu.
Co jsem dodal
návrh databázové a aplikační architektury, UX návrh a kompletní vývoj frontend + backend správa hráčských profilů, rezervací a termínů administrační rozhraní přes Filament (vč. vlastních komponent) notifikační systém a hlídací pes automatické nasazení a monitoring (CI/CD, testy, statická analýza) školení, předání dokumentace a podpora
Střídej.cz

O projektu

Klient za mnou přišel s nápadem na platformu, která by zjednodušila organizaci amatérských hokejových zápasů. Trh byl roztříštěný – hráči si sháněli ledy přes Facebook, správci hal řešili obsazenost ručně, bez jednotného systému.

Cíl byl jasný: vytvořit přehlednou aplikaci, která propojí obě strany, automatizuje správu termínů i komunikaci a bude připravená růst.

Zadání

Klient měl základní grafickou představu, ale celý návrh struktury, databáze, logiky i UI/UX jsem zpracoval já.

Cílem projektu bylo vyvinout stabilní a přehlednou webovou aplikaci, která nabídne:

  • jednoduchou správu hal a rezervací;

  • plnohodnotný hráčský profil (rezervace, historie zápasů a všechna data přehledně na jednom místě);

  • automatizaci provozu a notifikace (hlídací pes systému, exporty a další nástroje pro maximální efektivitu);

  • robustní základ pro budoucí rozvoj (bez žádného vendor lock-inu).

Moje řešení

Aplikaci jsem postavil úplně od nuly na Laravelu 12, frontend jsem postavil na Bootstrapu 5 a administrační rozhraní řešil pomocí Filamentu 3 s vlastními komponentami.

Veřejná část slouží jako katalog ledových ploch s přehlednou nabídkou, možností registrace a přihlášení. Po přihlášení se hráčům i správcům zpřístupní jejich dashboard: rezervace, zápasy, správa termínů, přehled vytížení a další.

Systém je navržen jako plně automatizovaný:

  • rezervace a upozornění běží přes Laravel Notifications,
  • hlídací psi, e-maily, exporty a cron akce běží přes queue systém,
  • soubory spravuje MediaLibrary od Spatie,
  • formuláře chrání Turnstile od Cloudflare,
  • nasazení zajišťuje CI/CD pipeline včetně statické analýzy (Pint, Larastan) a automatizovaných testů (aktuálně 80% pokrytí přes PHPUnit).

Výzvy a jak jsem je řešil

Největší výzvou bylo navrhnout systém tak, aby ho zvládl používat jak běžný hráč na mobilu, tak správce haly, který potřebuje rychle reagovat a spravovat desítky rezervací týdně.

Zároveň bylo klíčové připravit robustní backend – queue systém odděluje náročnější procesy (notifikace, exporty, hlídací pes), což zajišťuje výborný výkon i při vyšším zatížení.

Filament umožnil navrhnout přehledné administrační rozhraní, které zvládne i netechnický uživatel – s rozdělením práv a vlastními pohledy podle role.

Výsledek

Stridej.cz dnes aktivně spojuje hráče a správce ledových ploch, a to především v Praze, ale systém je možné škálovat i dál.

Denně probíhají nové rezervace, uživatelé dostávají notifikace, sledují dostupnost ploch a organizují vlastní zápasy.

Celý provoz je plně automatizovaný. Klient má přístup k přehledným statistikám a má možnost platformu dále rozvíjet (vytvoření mobilní aplikace nebo přidání nových rolí).

Technologie a detaily řešení

Základ platformy tvoří Laravel 12 – moderní PHP framework s důrazem na čistou architekturu, bezpečnost a výkon. Aplikace využívá moduly, repozitáře a eventy, takže je snadno rozšiřitelná a připravená na další vývoj.

Administrační rozhraní je postavené na Filamentu 3 s vlastními komponentami. Umožňuje přehlednou správu dat, rolí i oprávnění a díky své modulárnosti výrazně zrychluje vývoj interních částí systému.

Frontend stojí na Bootstrapu 5 upraveném pomocí Sass pro maximální přehlednost a konzistentní vzhled napříč zařízeními. Lehká struktura zajišťuje rychlé načítání a jednoduchou údržbu.

Knihovna MediaLibrary spravuje soubory a obrázky napříč aplikací. Zajišťuje bezpečné ukládání, automatické generování náhledů a efektivní práci s médii.

Komplexní systém upozornění postavený na Laravel Notifications zajišťuje e-maily, hlídací psy i systémové alerty. Vše běží asynchronně, takže notifikace neovlivňují výkon aplikace.

Queue systém obsluhuje náročnější procesy – exporty, cron akce i automatizované notifikace. Díky oddělení od hlavního běhu aplikace zůstává rozhraní rychlé i při vyšší zátěži.

Řízení přístupů a rolí řeší Spatie Permissions. Správci i hráči mají přehledné rozhraní a oprávnění podle typu účtu, což zvyšuje bezpečnost i přehlednost administrace.

Nasazení aplikace probíhá automatizovaně přes CI/CD pipeline. Každý release prochází testy, statickou analýzou a bezpečným deployem bez výpadků.

Kvalitu kódu hlídají automatizované testy s pokrytím 80 %. Statická analýza přes Larastan a Pint udržuje konzistentní styl a pomáhá předcházet chybám už v průběhu vývoje.

Laravel Horizon zajišťuje monitoring a řízení front. Nabízí detailní přehled o běžících úlohách a pomáhá udržet provoz aplikace stabilní i při větším objemu dat.

Ochranu formulářů obstarává Cloudflare Turnstile. Nahrazuje klasické CAPTCHA řešení a zvyšuje bezpečnost bez rušení uživatelského zážitku.

Co o spolupráci říká klient

„Opět naprostá spokojenost!“

David Moravec
David Moravec

Hledáte spolehlivého vývojáře?

Nemusíme hned začít – stačí se pobavit o tom, co potřebujete. Někdy i krátký rozhovor hodně vyjasní.

Nezávazná poptávka