Inspiration

We were inspired to build OneClub when we joined multiple clubs in school. Many times clubs conflicted in terms of meeting times, restricting the amount of clubs we could participate in. With OneClub, we hope that this issue will be solved for other students so that club officers can schedule club meetings/activities with minimal overlap between clubs.

What it does

OneClub allows users to view all future club meeting dates and times through a calendar, allowing club officers to schedule meetings at the most convenient times. Club participants can easily join clubs through a club search with additional information regarding each club, and use a sort feature that sorts clubs by type. Users can see which clubs they are in and their position in each of them.

How we built it

We built OneClub using React.js on the front-end along with tailwindcss and bootstrap. On the back-end, we utilized Node.js and MongoDB for our database. On the server, we created many endpoints to securely communicate between our database and client side, and securely stored user information by hashing and salting. The website uses a few node modules including React-big-calendar.

Challenges we ran into

One challenge we ran into was updating the database because of the memorization of formats, and how we needed to match every single time, especially since we had limited sleep. A bigger challenge is that it was almost everyone's first time using React.js, so we had to learn a completely new framework.

Accomplishments that we're proud of

We are proud that our code finally worked in the end, and we could create a calendar system and connect it to the database to display events. We also let the user add clubs, and patch that to the database.

What we learned

We learned React.js and some CSS that relates to it. We also learned how to connect databases and how to work around them.

What's next for OneClub

We plan to take this project outside this hackathon by adding a system that lets officers view how many members have time conflicts with club meetings, improving UI, and adding administrator access. A friend system, attendance tracker, and notifications will also be good additions to our project.

Built With

Share this project:

Updates