Our floor often watches videos and listens to music together, but in the process one person usually monopolizes all the choices. This system allows an unlimited number of registered users to add items to a queue and then vote on them. The highest rated songs get played first, and the queue is visible to everyone.
How we built it
We used Django as our framework and built a webpage for the "host' browser and a queue page for the "client" browser. We track users by kerberos, limiting them to a single vote per song, and use the Youtube API to queue and play videos.
Challenges we ran into
None of our team members had Django or Bootstrap experience, so it was fun learning something new.
Accomplishments that we're proud of
Our web app is very functional and fills a real need our floor has had. We no longer have to rely on subscription services that only do half the job.
What we learned
We learned how to use Django and the Django templating engine. We had also never used Bootstrap before, and so it satisfying to be able to build a good looking page quickly.
What's next for Better Music Fix
As I type, we're setting up our floor to use BMF. For our personal version, we're going to rely on Kerberos authentication to ensure that no one games the system. We have some UI improvements we're going to introduce in the short term. In the longer term, we are considering adding support for different streaming services, allowing for, say, music from Spotify to be interwoven with songs only available on Youtube or Soundcloud.
Note: The heroku playback only works on one device at a time. The git files always work, though you'll need your own Heroku and Youtube API keys.