Architecture of Crosswordpuzzle-backend

Crosswordpuzzle is a minigame which is part of the Gamify-IT platform. The intention with this game is to make answering of 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

  • crosswordchecker: Contains classes the check if a crosswordpuzzle can be created

  • mapper: Contains the mappers

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.

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

Tests

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

  • unit tests