Inspiration

Club leaders in our team realized that club attendance has still not returned to pre-covid levels. In order to encourage people to attend events, we wanted a simple, intuitive platform to reach a greater audience of students. We wanted to allow clubs and everyday students alike to promote their events.

What it does

The Nittany Lion Event Hub's Home Page makes it easy to view all upcoming events. The website then allows users to create an account in order to gain access to features such as (a) creating events, (b) adding clubs, and (c) favoriting events that interest them. Events can be club-sponsored or student-run, allowing for more casual hangouts to be posted.

How we built it

We built this app using MongoDB, Node.js, Express.js, and React (the MERN stack). In our database, we have three collections: i) Users, ii) Events, and iii) Clubs.

Challenges we ran into

We ran into a few challenges while building this app:

  1. Inputting a date & time for an event. Finding a convenient way for users to input the date & time for their event was a challenge for us, that we solved by simply allowing users to input these fields as a String. This is not our preferred solution, however, we chose it due to time constraints. Inputting these fields as a string makes input validation very challenging, and also makes sorting based on time very challenging. Ideally, we wanted to use the built-in Date object in JavaScript, which would allow us to compare times for a chronological sorting option.

  2. Lack of familiarity with the technology used. We implemented our backend with Node.js and Express.js, however, none of our team members had ever used either of these technologies prior to this hackathon, so we were figuring it out as we went. Additionally, many team members had not used React prior to the hackathon, so much of their time was spent learning React before being able to create pages and components.

  3. Version control. Due to having a team of 5 people working on a relatively small project, we had a hard time avoiding making changes that would impact our teammate's work. We used Git with branches and pull requests to attempt to resolve this, however, we still had some merge conflicts on occasion.

Accomplishments that we're proud of

We are very proud of the app that we created. We are particularly proud of our ability to figure out how to build a backend from scratch using two technologies that we haven't used before.

What we learned

As stated above, we learned a lot about Node.js and Express.js while we built out the backend. We also did lots of exploration of React and gained a new understanding of how to utilize web frameworks.

What's next for Event Planner

We want to add more features to Event Planner to make it more convenient to use. (1) A club page that shows all clubs at Penn State (2) An option to filter events by date, location, or type (3) An option to sort by chronology

Share this project:

Updates