Skip to content

soprafs20-group09/frantic-server

Repository files navigation


Frantic
Frantic-Server

Introduction

Frantic is a chaotic card game created by Rulefactory. This repository is the back-end part of an online implementation for this card game.

Please find the current build under frantic.online.

Technologies

The server is written in Java using the Spring Boot framework. JPA is used for persistence and deployment is handled by Heroku.

To establish a connection between the front- and backend REST is used. When further proceeding in the game (joining a lobby), a websocket connection gets established.

High-level Components

The GameController receives all game-related packages and passes them to the GameService. The GameService then reads the packages and assigns the tasks to the Game and GameRound.

The Game class handles the overall state of the game (game starts, round starts, round or game ends etc).
The GameRound class manages the individual rounds. Which means it decides what happens when a (special) card is played, event gets triggered etc. The GameRound class is by far the largest class of the backend.

When starting the server the Application class gets executed.

Launch & Deployment

Build

./gradlew build

Run

./gradlew bootRun

Test

./gradlew test

Roadmap

  1. Implement the expansion pack
  2. Minor Bug fixes
  3. Mobile Version?

Authors and Acknowledgements

Members of the SoPra-group 09 2020:

Kyrill Hux, Jan Willi, Davide Fontanella, Remy Egloff, Sina Krumhard

Acknowledgements

First of all we want to thank Rulefactory for creating such an amazing game. We all had a fun time implementing the game, and also learned a lot. Further we would like to thank our tutor Moritz Eck, who always provided useful advice to get cleaner code and more user-friendliness. We are also very grateful for our friends and families for testing our game extensively and also providing improvements in terms of user-friendlyness.

License

Apache License 2.0