Architecture of Towercrush-Backend¶
Towercrush is a minigame which is part of the Gamify-IT platform. The intention with this game is to make answering single choice questions in a multiplayer environment fun.
Table of Contents¶
Links¶
General code structure¶
This Java backend has the following package structure
data: Contains the data objects and DTOscontrollers: Containers the server routescomponents: Contains websocket overwritten classes and event handlerwebsockets: Contains websocker subscription endpoints
services: Contains the business logicclients: Contains the b2b (backend-2-backend) communication methodsrepositories: Contains the database repositories
Starting the service¶
See the README.
What to look at¶
The controllers for the API requests are a good point to start.
From there you can follow the code flow to the other components.
The GameResultController provides the API for the game results.
The ConfigController provides the API to configure the game.
What to ignore¶
Nothing at the moment.
Class diagrams¶
Overview complete application¶
This simplified class diagram shows how the most important services, mappers and repositories in the project are interlinked.
ConfigController¶
This class diagram shows an overview of the ConfigController class.
Known Design Flaws¶
There are no known design flaws.
Known Bugs¶
An up-to-date list of open bugs can be found at https://github.com/orgs/Gamify-IT/projects/6/views/11 by searching for Towercrush-backend.
Tests¶
We use the following test strategies in the Towercrush-backend:
unit tests