We all have different tastes in music. But, when it comes to public places like coffee shops, ice cream parlours, and restaurants, only one person’s music preference is played. With JukeCloud, we provide a service to allow people to democratically choose the song being played, bringing people together through music!
What it does
JukeCloud allows a person to join as a host to create a room or join an existing room as a user. As a host, the person plays the top voted song through a music streaming service like YouTube or Spotify. The users in a room upvote songs in the queue that they want to listen to and propose songs to be played.
For example, in a coffee shop, the owner can create a JukeCloud room as a host to play music. The customers can enter a JukeCloud room using a code unique to the coffee shop to democratically vote for the next song or propose new songs.
How we built it
JukeCloud provides an aesthetic webpage that interfaces with a backend server to provide an interactive GUI to each user. The backend was done primarily in python utilizing flask, while the front end was rendered in HTML and CSS serviced by React.
In order to acquire the songs, we utilized Youtube’s API to search for a song and play it through embedded Youtube audio.
Challenges we ran into
We ran into several challenges creating the backend implementation of our webapp. Specifically, working with unfamiliar technology like Flask and React. The biggest challenge we faced, however, was server-client integration.
Accomplishments that we're proud of
We designed an aesthetic webpage interface for both regular users and the host of each room. Furthermore, we were able to smoothly integration the voting and playing of songs in a queue as the host played music.
What we learned
We learned that querying various APIs was difficult, as well as server-client integration across a large number of users.
What's next for JukeCloud
The next step for JukeCloud is to allow for cross-platform integration between various devices, such as iPhone, Android, and other mobile devices. After moving JukeCloud to a dedicated server, thousands of users online would be able to utilize it to enjoy music together.
Furthermore, we can create public rooms as well so that people online can share their discoveries in music together.
There is lots to be desired for the future of JukeCloud, and we will make it happen!