The main inspiration behind this project is "Live, Love and Laugh" under the theme Hackthrobe. Our project is an effort to keep alive the spark and fun between friends. We tried to bring together the value of music, game and togetherness with friends and peers. Social distancing and isolation have become a part of our life and has some adverse effects including loneliness and stress. This project is intended to make people sing their heart out and have fun with their friends. This would certainly help to reduce stress in society.
What it does
Celebrate virtual love by spending a musical evening with your partner on MeloDuo. It lets you connect with your love over audio, allows you to choose one of the three game modes and then makes you cherish every moment.
In the Classic Mode, both of you can simply search for the song of your choice, which would play the karaoke version and then you just have to sing your heart out.
While in the Express Mode, your partner would send you a few lyrics lines from a song and you have to guess the song and sing it on your own.
And finally, the Challenge Mode would allow your partner to show you an image, and you would have to sing a song related to that picture.
How we built it
Rohini designed the layout and features. All of use took part in Ideation. Abhinav worked on connecting calls using socket and Firebase. Tejaswini helped in front-end of website. We used express for backend and WebRTC and socket.io for connecting the calls, React for front end and Firebase for Login and storing Credentials, and storing room data. We used react ecosystem to make UI look good
Challenges we ran into
To bring our thoughts in the project to reality it took lot of thinking , researching and challenges. There were several design issues to consider while implementing the app. We were not able to deploy the app over heroku for weirdest reasons, and while you read this, just pray that we could do this soon. It feels so bad when it just runs on localhost, its an duo app afterall ! Also it was the first time using of socket.io . Working on Material UI and Tailwind css was again new.
Accomplishments that we're proud of
We were able to create a working website with real-time audio sharing using WebRTC. We were able to pull off many setbacks in our approach of making the audio call work, from socket.io signalling to creation of firebase rooms. Also, it was the first hackathon for one of our members. She was able to collaborate effectively with the team and created elegant designs for the site.
What we learned
Learned how to perform real-time communication on the web. It was both cool and interesting, how SDP signalling occurs, how TURN servers work, etc. Also learned socket.io and connecting and incorporating socket and firebase to pass user's ids and connect them on a call.
What's next for MeloDuo
Implement the remaining game modes which we couldn't due to lack of time. Also adding a feature where not only two but many people can connect there.