When you're at a party or any kind of gathering with music, it's almost a given that everyone will have different opinion. The goal of this application is to give everyone a chance to add their musical taste to the social environment from the convenience of their smartphone.

What it does

uDj hosts a web service from a raspberry pi that allows multiple client connections to manipulate a song queue. Using a RESTful API, the application allows for real-time modification to a song output. This way, whether you are at the bar with your friends, hosting a party, or just too lazy to walk to your music player, you can choose what you listen to.

How we built it

The application was built using a node.js backend with a sqlite3 database. The front-end framework was built with HTML, CSS, jquery, and JavaScript. The music output on the pi was programmed with python and rabbitmq was used to communicate between the node.js and python interfaces.

Challenges we ran intoWhat it does

The architecture was our biggest roadblock. We understood how crucial it would be to organize the multiple levels of communication and therefore spent a great deal of time planning this aspect.

Accomplishments that we're proud of

After a decent amount of planning, we stuck with our architecture design and it worked out great. The music plays smoothly and communicates efficiently with the other platforms. We also have a pretty cool interface.

What we learned

Pat: I learned more about how to use node.js and sqlite. I also was able to brush up on my python skills. Kyle: I learned how to communicate with the back-end server through front-end JavaScript. Kan: I became more familiar with node.js and the overall design process of a web application. Matt: I learned a lot about rabbitmq, node.js and RESTful API.

What's next for uDj

Future updates for uDj will include varying permissions based on user rights. We also would like to add integration for the Spotify API.


Share this project: