A lot of my friends were organizing virtual events for various hangouts, such as Bible study, workout sessions, and game nights and etc. It was confusing because I had to keep track of so many zoom and google meet links, and the event scheduling was made through various platforms such as slack, groupme, facebook, and etc. I wanted a platform that could congregate all my events and scheduling details without having to keep track of all of the links. I thought of making Co-vent as a solution to that problem.
What it does
Co-vent is basically a social networking platform that keeps track of your events and video call details. You can create events, message your friends, make friend requests, attend events and keep track of your events and friends in one platform. This app's features were built around our core database collections, the users and events. We decided to implement messages and friend requests, to create interactions between users inspired by social media apps.
How we built it
We used React with Axios and Router on the front end, and Node/Express on the backend with MongoDB as our database, stored on Mongo Atlas.
Challenges we ran into
We faced a major challenge in creating our authentication system. We created a backend system that checks logins using username and password, and sends a JWT back to the front end. We integrated a React Facebook authentication system by using Facebook data to create the username, name and password to our signup system. This avoids having our backend having to also authenticate Facebook's JWT tokens while creating a user entry in our existing database.
Accomplishments that we're proud of
We are proud of overcoming our major challenges. We overcame the challenge of having both Facebook authentication and regular authentication work on our back end and having them combine with our user database. We're also proud of making a working messaging system where we had an inbox and an outbox of messages, as well as the friend request system we build where we could request and accept friend requests.
What we learned
We learned how to write a friend request system using Mongo and how to set up a Facebook authentication system on our site, how to send Facebook's JWT tokens to the back end. We also learned how to set up a messaging system and how to write it on our backend. We learned how to enable attendance of events functionality on our back end. I didn't know that much Mongo before this project, but I worked with my partner and learned how to build functionality for the complex messaging and friend request systems, and I build the attend event function on the back end.
What's next for Co-vent
Simpler steps are implementing full crud for events (including update and delete), unfriending people on our friend system, and cancellation of attendance of events. Larger steps are real time messaging with socket.io, better event organization tools, integrate google hangouts or another video link system into our app seamlessly, or creating our own video call system with socket.io.