This project was bootstrapped with Create React App.
- Connect to Spotify API to get your collaborative play-lists
- Select a play-list
- Start a gaming session with a join key (e.g. NWAQTX)
- this device will be the game master
- Can start game, kick players and act as an admin
- (Defines number of rounds played)
- Up to 4 players can join the session using the key
- Mobile devices, tablets or smart-phones
- Desktop devices also possible
- Random song is selected from play-list
- Information presented: album cover, artist, title and sample music
- The player can select any collaborator of the play-list as answer.
- Points are awarded for correct answers.
- A new random song is selected from play-list
- If number of rounds is reached a player point summary is displayed
- Node js back-end with express
- Socket.io for game-master <-> player communication
- Bootstrap for responsive design
- Meta questions:
- Who added the most songs
- Who has the longest streak (in songs)
- Who has the longest streak (in time)
- Who has added the most unavailable songs (from the perspective of the game master)
- Admin interface on the game master
The frontend is developed with react the backend uses socket io for client to client communication.
Run server.ts for nodejs server + express for frontend delivery
node server
The server will listen on port 3000
If frontend has been build yarn build the server uses the express framework to deliver the app build for production.
In the project directory, you can run:
Runs the app in the development mode.
Open http://localhost:3000 to view it in the browser.
The page will reload if you make edits.
You will also see any lint errors in the console.
Runs the app as node server in production mode.
Open http://localhost:8080 to view it in the browser.
Launches the test runner in the interactive watch mode.
See the section about running tests for more information.
Builds the app for production to the build folder.
It correctly bundles React in production mode and optimizes the build for the best performance.
The build is minified and the filenames include the hashes.
Your app is ready to be deployed!
See the section about deployment for more information.
Note: this is a one-way operation. Once you eject, you can’t go back!
To build this project as docker container run the following command
docker build -t local/spotiguess:latest .To run the image on port 80 use the following command:
docker run -d -p 80:8080 --name spotiguess local/spotiguess:latest