Giter Site home page Giter Site logo

frantic-server's Introduction


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

frantic-server's People

Contributors

regloff avatar sei-nah avatar davfon avatar realchesta avatar meck93 avatar royru avatar nikzaugg avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.