Wizja zmian na serwerze - marcello96/speed-game GitHub Wiki

Wizja zmian na serwerze InFUN

Zmiany w istniejącej funkcjonalności

  1. Usunięcie klas udostępniających niepotrzebne z punktu widzenia serwera Speed-game funkcjonalności.
  2. Poprawa obsługi błędów po stronie widoku.
  3. Refactoring kodu
    1. Usunięcie nieużywanych klas.
    2. Separacja kontrolera na mniejsze kontrolery: osobny do Rest API, osobny do MVC
    3. Usunięcie zbędnych komentarzy.
    4. Podział długich skomplikowanych metod na mniejsze - poprawa czytelności kodu.
    5. Przeniesienie logiki z klasy kontrolera do klasy serwisowej
    6. Przeniesienie logiki z klasy Game.class i User.class do klasy serwisowej
    7. Poprawa logowania (wykorzystanie logera)

Nowe funkcjonalności

  1. Dodanie warstwy persystencji z wykorzystaniem bazy in-memory H2
  2. Dodanie podstrony z oceną gry.
  3. Dodanie strony administracyjnej z możliwością:
    1. dodawania gier
    2. aktualizowania listy dostępnych gier w aktualnej rozgrywce
    3. przeglądu logów serwera
  4. Dodanie prostej autoryzacji administratora.
  5. Opracowanie algorytmu przydzielania gier użytkownikom na podstawie ocen (promowanie nowych gier).

Projekt algorytmu oceny przydziału gier

Probability = (3*5 + AmountOfRatings*AverageRating) / (3 + AmountOfRatings)

Żeby każda gra zawsze miała szansę na bycie wylosowaną oraz by pomóc nowym grą w pozyskaniu większej ilości ocen opracowaliśmy prosty algorytm. Do obliczania prawdopodobieństwa wybrania danej gry będziemy do wszystkich wystawionych grze ocen dodawać 3 maksymalne oceny.

Na następne przybliżenie (15.05.19):

  1. Strona do konfiguracji gry:
    1. Usunąć dodawanie pokoju, liczbę gier.
    2. Zmiana nazw: "Stwórz grę", "Konfiguracja gry".
    3. Button "Zatwierdź" do modyfikacji gry, "Anuluj".
    4. Zalinkować na stronie "/manage" pozostałe podstrony do zarządzania.
  2. Strona "/joinGame"
    1. Usunąć mechanizm autentykacji z ciasteczkami.