Skip to content

SAMUELLL41/aimer

Repository files navigation

Aimer – reflexná hra

  • Tento dokument je doplnený podľa aktuálneho stavu projektu v repozitári k februáru 2026 a opisuje reálne implementované časti aplikácie.

1. Prehľad Projektu

1.1. Názov Projektu

  • Názov projektu je Aimer – reflexná hra.

1.2. Účel

  • Cieľom projektu je ponúknuť zábavnú webovú hru, ktorá používateľom pomáha zlepšovať reflexy, odreagovať sa a zároveň sa zapojiť do komunity cez rebríčky, profily a chat.

1.3. Cieľová Skupina

  • Primárnou cieľovou skupinou sú mladí používatelia, študenti a hráči s voľným časom, ktorí chcú trénovať reflex.
  • Sekundárnou cieľovou skupinou sú hráči FPS hier, ktorí chcú cielene zlepšiť aim a reakčný čas.

1.4. Rozsah

  • Projekt je zameraný na tréning a komunitné funkcie.
  • Matchmaking ani priame PvP súboje nie sú súčasťou stránky.

2. Dizajn Používateľského Zážitku (UX)

2.1. Používateľské Cesty

  • Používateľ prechádza cestou od registrácie alebo prihlásenia cez domovskú stránku, hernú obrazovku, rebríčky a profily až po nastavenia účtu.

2.2. Wireframy

  • Návrhy rozloženia hlavných stránok boli pripravené vo Figme.
  • V implementácii sa wireframy premietli do prehľadnej navigácie a konzistentného layoutu.

2.3. Tok Navigácie

  • Hlavné menu v hornej lište poskytuje prístup na hru, rebríčky, vyhľadávanie hráčov, profil, nastavenia a odhlásenie.
  • Navigácia zároveň obsahuje prepínač jazykov pre slovenčinu, angličtinu a nemčinu.

2.4. Prístupnosť

  • Aplikácia je navrhnutá responzívne pre webové stránky.
  • Rozhranie obsahuje základné prístupnostné prvky, ako sú ARIA atribúty pri dynamických častiach stránky.
  • Herná časť je zámerne zablokovaná na mobiloch a tabletoch kvôli férovosti.

3. Dizajn Používateľského Rozhrania (UI)

3.1. Vizuálny Štýl

  • Vizuálny štýl aplikácie stavia na tmavších odtieňoch s kontrastnými akcentmi a čitateľnými panelmi pre profilové a štatistické informácie.

3.2. Komponenty

  • Používateľské rozhranie využíva tlačidlá, formuláre, karty, tabuľky rebríčkov, dropdown menu a modálne okná.
  • Všetky dôležité interakcie sú doplnené validačnou a stavovou spätnou väzbou.

3.3. Responzívny Dizajn

  • Komunitné časti aplikácie sú prístupné na mobilných, tabletových aj desktopových zariadeniach.
  • Samotné hranie je dostupné iba na desktope.

4. Funkcie a Funkcionalita

4.1. Hlavné Funkcie

  • Aplikácia podporuje registráciu a prihlásenie používateľov.
  • Aplikácia umožňuje ukladanie výsledkov a zobrazenie rebríčkov podľa viacerých metrík.
  • Aplikácia obsahuje vyhľadávanie hráčov, profilové stránky so štatistikami a achievementmi, komunitný chat a live feed momentov z posledných 24 hodín.

4.2. Backend Funkcionalita

  • Backend je implementovaný v Laraveli.
  • Backend využíva routy, controllery, Eloquent modely a API endpointy pre chat, skóre, štatistiky, achievementy, moderáciu aj profilové údaje.

4.3. Integrácie Tretích Strán

  • V aktuálnom stave projektu nie je implementované prihlásenie cez Google Auth.
  • Autentifikácia je riešená štandardným prihlásením cez e-mail a heslo.

4.4. Bezpečnostné Opatrenia

  • Aplikácia používa validáciu vstupov, sanitizáciu textu, CSRF ochranu a hashovanie hesiel.
  • Aplikácia používa autorizačné middleware pravidlá a moderátorské zásahy ako ban, mute a mazanie správ.

5. Správa Obsahu

5.1. Typy Obsahu

  • Systém pracuje s profilovými obrázkami, používateľskými textami a hernými dátami vrátane skóre a štatistík.

5.2. Zdroj Obsahu

  • Obsah vzniká kombináciou manuálnych vstupov od používateľov a automaticky generovaných údajov zo zápisov hry a výpočtov štatistík.

5.3. SEO Stratégia

  • Projekt v aktuálnej podobe pokrýva základné on-page faktory, ako je štruktúra stránok, responzivita a výkon.
  • Off-page SEO aktivity zatiaľ nie sú explicitne implementované.

6. Technické Špecifikácie

6.1. Technológie

  • Frontend je postavený na Blade templatoch, HTML, CSS a JavaScripte.
  • Build proces využíva Vite.
  • Backend je postavený na Laravel 12 s PHP 8.2 a databázou MySQL.

6.2. Hosting a Nasadenie

  • Pri nasadení sa predpokladá serverové spustenie Laravel aplikácie spolu s databázou.
  • Pri nasadení sa používa štandardný deploy postup s Composer, Artisan migráciami a Vite buildom.

6.3. Kompatibilita Prehliadačov

  • Aplikácia je cielená na moderné a pravidelne aktualizované prehliadače.

6.4. Požiadavky na Výkon

  • Aplikácia je navrhnutá tak, aby mala nízku až strednú záťaž pri bežnej prevádzke.
  • API endpointy využívajú limity a agregácie vhodné pre rýchlu odozvu.

7. Dizajn Databázy

7.1. Prehľad Schémy

  • Databáza obsahuje hlavné tabuľky users, game_scores, chat_messages, achievements a prepojovaciu tabuľku user_achievements.
  • Vzťahy v databáze pokrývajú väzby používateľa na skóre, správy a odomknuté achievementy.

7.2. Validácia Dát

  • Vstupy sa validujú na serveri cez Laravel pravidlá.
  • Pri validácii sa uplatňujú typové, dĺžkové aj hodnotové obmedzenia.
  • Pri textových poliach sa navyše používa blacklist slov.

8. Testovací Plán

8.1. Typy Testov

  • Počas vývoja sa používa priebežné manuálne testovanie používateľských tokov.
  • Manuálne testovanie je doplnené o Laravel/PHPUnit testy podľa potrieb projektu.

8.2. Testovacie Prostredia

  • Vývoj prebieha lokálne.
  • Pred produkciou je odporúčané staging prostredie.
  • Produkcia má byť sledovaná cez logy a monitoring infraštruktúry.

8.3. Zabezpečenie Kvality (QA)

  • Zabezpečenie kvality je založené na kombinácii manuálneho testovania a regresných kontrol.
  • Regresné kontroly sa robia po zmenách v autentifikácii, ukladaní skóre, chate a profilových funkciách.

9. Plán Nasadenia

9.1. Monitoring

  • V aplikácii sú implementované administrátorské moderátorské nástroje.
  • Technický monitoring servera, databázy a logov sa rieši na úrovni hostingu.

Rollback plán

  • V prípade problémov je možné vrátiť sa na predchádzajúcu stabilnú verziu cez Git.
  • Podľa potreby je možné vykonať rollback databázových migrácií.

10. Údržba a Aktualizácie

10.1. Plán Podpory

  • Aktualizácie s opravami chýb a menšími zlepšeniami budú vydávané priebežne podľa priority a dopadu.

10.2. Budúce Aktualizácie

  • Budúci rozvoj sa bude riadiť spätnou väzbou komunity.
  • Budúce verzie môžu zahŕňať nové herné režimy, detailnejšie analytiky a rozšírené moderátorské funkcie.

11. Tím a Role

11.1. Zoznam členov tímu a zodpovednosti

  • Samuel Čukáš zastáva v projekte rolu dizajnéra, vývojára a testera.

12. Časový Plán a Milníky

12.1. Fázy Vývoja

  • Vývoj prebieha vo fázach plánovanie, dizajn, implementácia, prototypovanie a spustenie.

12.2. Dátumy Doručenia

  • Plánovanie a dizajn boli rozvrhnuté približne na jeden mesiac.
  • Vývoj bol rozvrhnutý na dva až tri mesiace.
  • Prototypovanie so spustením bolo rozvrhnuté približne na jeden mesiac.

13. Analýza Rizík

13.1. Potenciálne Riziká

  • Medzi hlavné riziká patria pokusy o cheatovanie výsledkov.
  • Medzi hlavné riziká patrí aj nevhodné správanie používateľov v komunitných častiach.

13.2. Stratégie na Minimalizáciu

  • Riziká sa minimalizujú sledovaním rebríčkov a histórie výkonov.
  • Riziká sa minimalizujú moderátorskými zásahmi.
  • Riziká sa minimalizujú dôslednou validáciou a sanitizáciou vstupov.

Rýchly štart (lokálne)

  • Najprv nainštalujte PHP závislosti príkazom composer install.
  • Potom vytvorte lokálny konfiguračný súbor príkazom cp .env.example .env.
  • Následne vygenerujte aplikačný kľúč príkazom php artisan key:generate.
  • Databázové tabuľky vytvoríte príkazom php artisan migrate.
  • Frontend závislosti nainštalujete príkazom npm install.
  • Vývojový frontend server spustíte príkazom npm run dev.
  • Laravel server spustíte príkazom php artisan serve.
  • Aplikácia bude po spustení dostupná na lokálnej adrese Laravel servera, štandardne na http://127.0.0.1:8000.

About

Maturitná práca

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors