Inspiration
Before we started our project we were getting our music ready and found that we all had to individually go and access the lab computer to play one song. We were trying to find alternatives to YouTube that allows us to make a group session to control music but all the alternatives we could find were paid. And that's when it hit us, why not make our project to solve this issue we were facing!
What it does
It allows users to create a username and join a room where they can take turns queuing up different videos and music. Users submit a link and add it to queue and have the ability to pause, play, skip, or go to the previous song. Within each room, users can also see who the other users are and who queued up which videos.
How we built it
We created a GitHub repo that utilized React JS, WebDev, and the YouTube API. We then connected it to our AWS server and utilized the Dynamo DataBase and FireBase to bring dynamic scaling databases to host all the user information for the different rooms.
Challenges we ran into
We had issues creating databases that would allow us to put and retrieve user information in order to play the media.
We also had issues with regards to the multi-user experience and having music queued up and getting the queuing system up and running.
We also had countless errors and issues when setting up our AWS server and connecting it with our React JS programs.
Accomplishments that we're proud of
We are proud of the fact that we have an actual working product that solved our original goal of getting a multi-user media player.
What we learned
Over the duration of this project, we spent a lot of time learning about different technologies within web development. Prior to this hackathon, none of us had any experience with JavaScript or WebDev, so there was a steep learning curve. We learnt technologies like hosting on AWS, Websockets in JS, and back end database management, in coordination with AWS, which was Firebase in our case. This experience taught us that practical application is the only way to really learn about something.
What's next for MuQu
MuQu, at this point, is capable of only hosting one room. We would need to develop a way to create multiple rooms, password protect those rooms to allow specific members to join those rooms, and have an admin option, to keep our chat rooms as secure as possible. We also would want to explore having a chat feature as well as a music queue running, which would allow chat members to engage in conversation and choose the songs being played.
Log in or sign up for Devpost to join the conversation.