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.