Strona główna
Strona główna prezentuje klimat pirackiego RPG, zachęca do rozpoczęcia przygody i prowadzi do rejestracji oraz panelu gry. Layout jest responsywny, zlokalizowany i spójny wizualnie z resztą aplikacji.
PROJEKTY
PirateHero to pełnoprawna przeglądarkowa gra RPG full-stack w świecie piratów. Gracze rozwijają bohatera, eksplorują lochy, walczą na arenie, zarządzają statkiem i ekonomią gry. Zbudowana w Symfony (backend) oraz React z TypeScript (frontend).
Strona główna prezentuje klimat pirackiego RPG, zachęca do rozpoczęcia przygody i prowadzi do rejestracji oraz panelu gry. Layout jest responsywny, zlokalizowany i spójny wizualnie z resztą aplikacji.
Formularz rejestracji i logowania umożliwia utworzenie konta oraz wejście do gry. Rejestracja wymaga aktywacji e-mailem, a logowanie korzysta z JWT i refresh tokenów. Dostępne są też reset hasła oraz zmiana hasła w ustawieniach.
Podstrona kontaktowa pozwala wysłać wiadomość do twórcy gry - zgłosić problem, zapytać o współpracę lub przekazać sugestię. Formularz jest prosty i spójny z resztą publicznego frontendu.
Sekcja „O grze” opisuje świat PirateHero, zasady rozgrywki i główne możliwości dla nowych graczy. Pomaga szybko zrozumieć, czym jest gra, zanim użytkownik założy konto.
Po zalogowaniu gracz zarządza bohaterem: awatar, ekwipunek wearables, tytuły, trening i rozwój poziomów. To centralny ekran panelu gry, z którego wychodzi dalsza rozgrywka.
Lochy (m.in. Krypta, Kraken, Forteca, Wulkan, Pałac) to wieloetapowe wyzwania z przeciwnikami, energią i nagrodami. Do tego dochodzi bestiariusz z informacjami o potworach.
Moduł walk umożliwia pojedynki na arenie oraz zarządzanie limitami starć. Wyniki i przebieg walki są prezentowane w panelu gry, a gracze mogą podglądać profile innych użytkowników.
Statek to społeczna część gry - dołączanie do załogi, zarządzanie członkostwem, podgląd okrętów i walki między statkami. Rozszerza solo loop o współpracę z innymi graczami.
Sklep przedmiotów, sklep premium, codzienne nagrody, boostery i kupony budują ekonomię gry. Oferty mogą być odświeżane cyklicznie po stronie backendu.
Backend został zbudowany w Symfony 7 z API Platform, Doctrine ORM, Lexik JWT oraz Gesdinet refresh tokens. Logika gry (walki, lochy, sklep, misje, ranking) jest wystawiona jako REST API z walidacją, CORS i komendami seedującymi katalog gry.
Frontend powstał w React 19 z TypeScript i Vite. Aplikacja korzysta z React Router, TanStack Query, Tailwind CSS, i18next oraz Sonner. Kod jest podzielony na warstwę publiczną (landing, auth, kontakt) i panel gry.
Projekt pokryty jest testami jednostkowymi/UI (Vitest + Testing Library) oraz testami funkcjonalnymi Playwright. Automatyczna weryfikacja obejmuje kluczowe ścieżki auth i rozgrywki.