In this day and age, social interaction is at an all-time low due to factors outside our control. Having just spent close to over a year attending Zoom University alongside our fellow students, we know firsthand just how precious remaining socially connected to the events and/or people around us. This ended up being a major reason why we as developers were inspired to create something that could help address this issue- and we eventually settled upon Bulletin Buddy, a full-stack application whose purpose lends itself to helping alleviate the issue of social disconnectedness by providing an environment where students can create events for their schools and track those events.
What it does
Bulletin Buddy is the solution that students from all over have been waiting for to keep track of as well as organize their school events. Through the usage of Hubs, which are unique to each school, students may sign up, log in, and post events like Club meetings, study sessions, recreational activities, and other interest groups, all in one place for students to look at. Much like an actual bulletin board, students are able to post events and express interest in said events, all from the comfort of their web browser. By providing a platform designed for students with this in mind, we hope to solve the problem of expressing interest in a club or getting together to study due to simply not having the information required to attend events in one place. By making sure we get the notifications and having all of the scheduling information at our fingertips, Bulletin Buddy is our answer to the social downturn caused by the shift to online now that things are going back to in-person.
How we built it
Using a combination of React.js + Tailwind CSS frameworks in the frontend, as well as Node, Express, and MongoDB/Mongoose in the backend, Bulletin Buddy is an all-new idea and implementation rolled into one from scratch. Our team decided to split itself more or less down the middle with half of us designing the frontend and the other two working on the backend before we linked everything together. All of this is meant to be hosted via Google Cloud compute instances, and our team helped itself to the 50$ of free cloud credits provided for the hackathon to try to set up hosting via the Google FireBase CLI.
Challenges we ran into
The biggest challenge we encountered was finding a relevant cause that we could be passionate about supporting/addressing through our project before we settled upon Bulletin Buddy. Hooking up the frontend and the backend also proved to be challenging, but thanks to the creation of our very own REST API, the matter of adding features became a lot less of a headache than it would have been without proper self documenting code.
Accomplishments that we're proud of
It feels truly amazing to have a working, compiling alpha version after just over 2 days of hacking together in a house with just 4 CS students plugging away at our laptops, which has culminated in not only hundreds of thousands of lines of code, but a very real application, with the actual functionality that was desired from the get-go.
What we learned
Aside from the bevy of technical experience that our team gained from stepping outside of our individual comfort zones (e.g. working full-stack despite having very little experience with frontend or backend development respectively, but filling in those gaps in knowledge with the help of team members that had the answers to address specific issues that would ordinarily cause roadblocks in progress if we had been working individually) In this way, we learned that it takes a team working in synchrony to produce really good results without having to self-learn every single technical aspect required to implement features.
What's next for Bulletin Buddy
There are so many features that we defined as "stretch-goals" along with some shorter-term feature implementations that we wish we could have fit into the 36-hour competition window, but we as a team are more than happy to practice Continuous Integration/Continuous Development with regards to the project. These goals are listed in our README file and we want to continue to work on making them happen as we continue through our academic careers.