Integracja - Raf0/tk GitHub Wiki
Proponowany sposób integracji
Umieszczanie komponentów na serwerze
Wszystkie komponenty-gry będą składały się z katalogu ze swoją nazwą, w którym zostanie umieszczona strona index.html oraz wszystkie inne potrzebne pliki. Taki komponent w postaci katalogu zostanie umieszczone w specjalne lokalizacji na serwerze. Dodawanie komponentów będzie mogło odbywać się ręcznie na serwerze lub poprzez specjalny endpoint na który będzie można przesłać paczkę .zip, którą aplikacja rozpakuje do katalogu z komponentami.
Udostępnianie komponentów
Aplikacja serwerowa będzie mogła w dowolnej chwili wylistować katalogi znajdujące się w zdefiniowanej lokalizacji by zaktualizować listę dostępnych komponentów. Aplikacja serwerowa po wybraniu gry udostępnia zawartość odpowiedniego katalogu kierując użytkownika na stronę index.html.
Konfiguracja komponentów
Aplikacja serwerowa w momencie udostępniania strony będzie mogła przekazać do niej wszystkie potrzebne parametry (np: model.addAttribute w SpringBoot). W przypadku nie przekazania parametrów komponent powinien korzystać z domyślnych ustawień. Aplikacja serwerowa może brać konfiguracje z plików konfiguracyjnych (np: .properties w SpringBoot) lub od osoby zakładającej "pokój" gier.
Zwracanie wyników
Komponent po zakończonej rozgrywce przesyła poprzez zdefiniowany endpoint RESTowy wynik użytkownika na serwer.