Wizja - marcello96/speed-game GitHub Wiki
Autorzy
- Marcin Jakubowski
- Paweł Matejko
Cel
Celem projektu jest stworzenie aplikacji webowej SpeedGame, która serwuje użytkownikom krótkie gry logiczne i zręcznościowe losowane na podstawie m.in. wcześniejszych ocen użytkownika. Celem naszego podprojektu jest stworzenie komponentu serwera udostępniającego interfejs dla stworzonych przez innych gier.
Wymagania funkcjonalne
-
Główną funkcjonalnością serwera będzie zapewnienie strony internetowej na której użytkownicy będą mogli grać w zestaw gier obecnie załadowany na serwer. Wchodząc na stronę użytkownikowi zostanie wyświetlona losowa gra z zestawu na podstawie wcześniej wystawionych ocen. Po skończeniu gry użytkownik będzie miał możliwość wystawienia grze oceny od 1 do 5.
-
Kolejnym elementem będzie umożliwienie użytkownikom dodawania nowych gier do zestawu w czasie pracy serwera. Gry będą musiały być spakowane w odpowiednie archiwum i kompatybilne z ustalonym przez serwer interfejsem.
-
Poza tym serwer będzie również udostępniał stronę do administracji. Zezwoli ona na zobaczenie obecnie dostępnej listy gier, wystawionych im przez użytkowników ocen oraz na przeglądanie logów serwera.
Wymagania niefunkcjonalne
-
Serwer stworzony w języku Java
-
Jako podstawa framework Spring Boot
Wizja komunikacji komponent-serwer
Ogólny schemat działania:
- Serwer zwraca klientowi stronę początkową komponentu gry, przekazuje sterowanie do komponentu.
- Komponent pobiera dane konfiguracyjne z serwera.
- Komponent przesyła dane dotyczące wyniku rozgrywki i przekazuje sterowanie do serwera.
- Serwer zwraca klientowi stronę z oceną gry.
- Serwer losuje kolejną grę dla klienta i przekazuje sterowanie do wylosowanego komponentu gry.