Platforma Print-On-Demand

Dwuletni projekt prowadzony w metodyce SCRUM z dwutygodniowymi sprintami, w ramach którego powstała przeglądarkowa gra oparta na Angular udzielana kasynom na licencji.
W skład aplikacji wchodzi gra (multiplayer), podział na pokoje, zarządzanie profilem i ustawieniami użytkownika. Gracze mogą komunikować się przy pomocy czatu (vue.js), który został przygotowany jako odrębny moduł umożliwiający osadzenie w innych produktach klienta. Poza podstawową grą, zostało przygotowane sześć prostszych gier uzupełniających, na których można prowadzić dodatkowe rozgrywki na pieniądze.
W ramach projektu została również stworzona druga aplikacja służąca do moderowania czatu.

Aplikacja została oparta o framework Angular i napisana w TypeScript. Podobnie jak sam framework, do asynchronicznych operacji, zamiast Promisów, użyliśmy RxJs.
Technologie
Projekt został wygenerowany przez Angular-CLI, dzięki temu został ustawiony linting, środowisko testowe (Karma, Jasmine, Protector), testowy serwer lokalny oraz komendy do tworzenia plików z boilerplate.
Architektura oparta jest o Flux. Używamy do tego celu biblioteki NGRX.
Komunikacja
Z backendem komunikujemy się na dwa sposoby: poprzez requesty RESTowe oraz websockety.
W komunikacji przez sockety używamy protokołu STOMP.
Do obsługi dźwięków użyliśmy biblioteki Howler.js. Do generowania sprite’ów z próbek dźwiękowych został napisany skrypt Node.js (używa biblioteki audiosprite i ffmpeg).
Aplikacja jest wielojęzyczna, tłumaczenie wspiera messageformat.

