Simul is a Spotify music syncing application. It allows you to join lobbies to listen to what everyone else is listening to. You can add songs to the song queue for the lobby and everyone listening to that queue will have their music in sync.
These instructions will get you a copy of the project up and running on your local machine for development and testing.
- A Spotify Premium account (although with a free account the user can still enter the app, but will not be able to listen to songs)
- Node.js
- NPM
After cloning the repository, navigate to the the server
/frontend
directories. In each directory, enter the following command to install dependencies for that project.
npm install
There are two separate projects. One is for the server, and another for the frontend. After installing dependencies, run npm start
on both the server and frontend directories. Errors will be thrown if npm dependencies have not been installed.
The server should start up on localhost:8888
, and the frontend should start up on localhost:3000
in your web browser. This may take a long time due.
Run npm test
on both the server and frontend directory to test each project.
To check code style, run the following in each project:
npx eslint src
After successfully logging into the application with Spotify. The user will be greeted with the lobby selection page. The user can enter a lobby that has been created by another user, or they can create their own lobby, where other users can join.
A lobby creation pop-up will appear when adding a lobby. The user will be given a choice to create a public lobby, where anyone is allowed to join, or they could create a private lobby where only the people who know the password to that lobby can join. If a user no longer wishes to keep that lobby, they will be allowed to delete the lobby that they have created.
Once a user enters a lobby, they will see this page for their respective lobby. They will be able to add songs to the lobby using the search. The search links to Spotify's search function so all songs on Spotify can be searched for.
Once a user clicks on the song in the search dropdown, the song will be added to the queue for every member of the lobby.
Users will be able to delete the songs that they have added to the queue, shown by an X next to the song in the queue.
All members of the lobby will have their music in sync, but will not be allowed to pause. The users will be able to mute or change the volume of the music if they wish. Once a user enters the lobby, the music automatically jumps to the timestamp of the song in which everyone else is playing and the song will play automatically.
Other song information such as artist, song title and lyrics are displayed on the left. The lyrics displayed here are the full lyrics unlike that in Spotify where they keep changing to ads when lyrics are shown.
The users in the lobby will be allowed to chat to one another.
Name | upi |
---|---|
Allen Nian | ania716 |
Richard Ng | rng448 |
Edward Zhang | ezha731 |
Brian Nguyen | bugn877 |
This project is licensed under the MIT License - see the LICENSE file for details.