Architecture of Finitequiz-backend

Finitequiz is a minigame which is part of the Gamify-IT platform. The intention with this game is to make answering single choice questions fun.

Table of Contents

General code structure

This Java backend has the following package structure

  • data: Contains the data objects and DTOs

  • controllers: Containers the server routes

  • services: Contains the business logic

  • clients: Contains the b2b (backend-2-backend) communication methods

  • repositories: 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.

What to ignore

Nothing at the moment.

Class diagrams

Overview complete application

overview class diagram of complete application This simplified class diagram shows how the most important services, mappers and repositories in the project are interlinked.

ConfigController

class diagram of ConfigController This class diagram shows an overview of the ConfigController class.

GameResultController

class diagram GameResultController This class diagram shows an overview of the GameResultController class. The data structure of GameResult and its contents are shown at the left and bottom of the diagram.

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 Finitequiz-backend.

Tests

We use the following test strategies in the Finitequiz-backend:

  • unit tests