9208ef1065969c71eaccb82e70bbd9b1d71c6536
Galaxy
Galaxy is a turn-based strategy game which took place in space.
At the highest level Game has a Backend service and an UI Client.
Backend service
Backend service is presented by several "microservices" with a different set of responsibilities.
-
AuthN Proxy Service: handles all incoming requests, immediately rejects not-authenticated requests and passes authenticated request to the next service.
-
AuthZ Service: checks permissions avaliable to the authenticated user and passes request to the next service if user is authorized to use specific game api.
-
Games Orchestrator Service:
- finds appropriate Game Server according to Client's request data,
- passes user's commands to the selected Game Server,
- reads response and bounces it back up to request chain to the Client,
- manages Game Server state for health monitoring and making next turn.
-
Game Servers: several instances of ongoing games with avaliable unprotected API ready to receive Player's and Administrator's commands.
UI Client
UI Client is capable of:
- Register a new player and login for an existing player using only e-mail and one-time codes,
- Enlist to a new Game from available onboard Games list,
- Request list of Games in which Player participating,
- Request, store and display particular Game data,
- Use push-like mechanism for receiving asynchronous updates from Server,
- Offline mode when no internet connection is available or user desired to work offline.
Description
Languages
Go
61%
TypeScript
31.6%
Svelte
6.5%
JavaScript
0.3%
Makefile
0.3%
Other
0.3%