Skip to content

sopra-fs22-group-17/RaveWave-server

Repository files navigation


RaveWave
RaveWave-Server

RaveWave.V2.mp4

Introduction

By combining Kahoot with Spotify, RaveWave creates a competitive and fun music guessing game to play among friends. This is the repository of the back-end part of our implementation, you'll find the front-end part here.

Technologies

The back-end is written in Java and uses Spring Boot framework. We use JPA for persistence and the deployment is handled by Heroku. Communication between the server and the client is done with REST and websockets. For the websockets an additional messaging protocol called STOMP is used.

High-level components

The controllers receive all REST and websocket calls and pass them onto the Services. In our gametypes package, which is controlled by the Game class, the different questions are generated with the help of the Spotify package. There we get access through the Spotify Web API, which is based on REST principles and gives access to songs and their metadata, as well as Spotify user related information.

Launch & Deployment

Build

./gradlew build

Run

./gradlew bootRun

Test

./gradlew test

Roadmap

  • New game mode: Guess the lyrics
  • Global RaveWAver leaderboard
  • Submit Quota Extension request (takes about six weeks)

Authors and Acknowledgment

SoPra Group 17 2022 consists of Marco Leder, Valentin Hollenstein, Dennys Huber, Sheena Lang and Isabella Chesney.

We first want to thank our teaching assistant Tarek Alakmeh for his help during the last semester, as well as our previous teaching assistant Kyrill Hux. We also thank Spotify for providing such a well documented API and Kahoot for the inspiration. It has been a very educational and challenging semester, and we are very thankful for this experience.

License

Apache-2.0 license