Over the course of the pandemic, it has been difficult to meet and get to know new students. Students have missed out on key university experience: meeting people on nights out, within departmental buildings, and at lectures. We wanted to help fill that void and impact student lives for the better. Enter, CamChat.
What it does, and what's next
This web application connects students on video calls to one another randomly. There is an authentication process in order to limit the pool of users to Cambridge students. In the long run, we hope to include a preference/interests matching system, and to automatically exclude maths students from meeting students from other departments to replicate the real life experience. Furthermore, because the authentication system runs on Firebase (Google Cloud), we can easily extend the concept to other universities, and potentially other organisations. Finally, to ensure personal safety, we are working on implementing user blocking and reporting functionalities.
How we built it
- Front-end: Vue.js/Vuetify, hosted on Netlify
- Backend: Node.js, hosted on Heroku
- Authentication and user data: Firebase
- Call fallback relay server: Oracle Cloud
Challenges we ran into
Building the signalling infrastructure to allow WebRTC peer-to-peer connections from scratch Session management
Accomplishments that we're proud of
- Taking the video call signalling infrastructure to successful completion, allowing users to be connected to each other in a video call over the internet.
- Slick, simple UI.
- Secure deployment onto cloud hosting for public use.
What we learned
- WebRTC and peer-to-peer infrastructure over the internet
- How to collaborate effectively on a fast paced project.
- Securing API keys and application for public deployment.
- How to develop a user story.