The application has been developed as a part of HAW CJ1 group project. Participants: Elvin Mammadov(Flutter), Mykhailo Svyrydovych(front-end, back-end), Parisa Ostadzadeh(back-end)
Structure:
- mvs-spring - contains backend. Written in Java with Spring Boot framework, using Maven for building.
- MVS-WebApp - contains frontend. Written in JavaScript ES6 with React framework, using Webpack for bundling. In addition this directory contains a directory with mp3 song files.
- mvs_flutter - mobile native client made with Flutter. Supports both Android and iOs.
Music Voting Server - is an application that generates playlists according to collected votes from users and plays music. It runs in a local wi-fi network and can be installed on Raspberry Pi (or any other computer).
Server side is written in Java using Spring Boot framework. On the client side there are React web app and mobile flutter client app available.
Http method | Endpoint | Description |
---|---|---|
GET | api/v1/songs | Returns a list of all songs |
GET | api/v1/pairs | Returns a list of songs pairs (for voting) |
POST | api/v1/vote | Accepts list of songs chosen by a user |
POST | api/v1/songs/upload | Accepts mp3 song file |
GET | api/v1/songs/current | Returns currently played song |
GET | api/v1/songs/mostlyVoted | Returns a list of mostly voted songs |
GET | api/v1/songs/current/stop | Stops playing current song |
DELETE | api/v1/songs/{id} | Deletes a song |
PUT | api/v1/songs/{id} | Changes song info |
GET | api/v1/get-voters-number | Returns voters number setting |
POST | api/v1/songs/set-voters-number | Changes voters number setting |
GET | api/v1/songs/get-playlist-size | Returns playlist size setting |
POST | api/v1/songs/set-playlist-size | Changes playlist size setting |
GET | api/v1/user | Returns user info |
POST | api/v1/register | Registers a new user |