Inspiration

For many students, college is their first time living on their own and being independent. Staying on top of the many aspects of life that college throws at students can be difficult and intimidating to face without help and support from peers around them. Getting more involved with campus organizations and activities provides a break from schoolwork, alleviates stress, and helps make college more enjoyable and fun. However, now more than ever, many students struggle to find ways to get involved with campus organizations and activities.

"I want to get more involved with campus but I don't know what's available or what will interest me." As NCSU students, we've all probably encountered this issue before. Ever since the start of the global COVID-19 pandemic, had to find better ways to connect with our peers. The NCSU Get Involved page and NCSU event calendar are some of the top resources to use to find clubs/organizations to get involved with and events/activities to attend, but neither of these interfaces are very helpful for giving recommendations that are personalized to the user's interests.

What it does

NCSU Involvement is a web application that aims to help NCSU students better find ways to get involved with campus organizations and events by using machine learning algorithms to recommend campus organizations and events based on preferences listed in the profile.

Users are able to create an account and a personal profile to indicate their major(s), minor(s) and/or interests. Then, the application uses a database of NCSU organizations and events along with NLP algorithms to give personalized recommendations of organizations and events that may interest the user.

How we built it

After coming up with the idea to improve the resources NCSU students had to find organizations and events to get involved with on campus, we spit up work amongst ourselves. Our frontend developer worked on using React to create the frontend interfaces for our web application. Then one of our backend developers worked on creating the model and API controller classes for the logic of our system using Flask while another backend developer worked on coming up with natural language processing algorithms that would allow our application to give recommendations of clubs to get involved with and events to attend based on certain preferences. Finally, our last backend developer worked on using Python libraries like Selenium and BeautifulSoup to scrape relevant club and event information from the NCSU Get Involved and Event Calendar pages before turning them into JSON databases. After each of these tasks were completed, we used Heroku to deploy our project.

Challenges we ran into

One of the biggest challenges we ran into when developing this application is figuring out how to actually deploy our project on the web. All of us had our own specialties and had some experience creating full-stack web applications, but we've never had to deploy a full project from scratch using these technologies before.

Accomplishments that we're proud of

We're very proud of the progress we made. In just a little over 24 hours, not only did we come up with a very useful idea, we also have a prototype that looks pretty neat and showcases the vision for our project.

What we learned

We learned a lot more about Flask and Heroku through this project. We learned a lot more about how to deploy full-stack web applications from scratch as well.

What's next for NCSU Involvement

In the future, NCSU Involvement can be expanded to include a bigger database of clubs and events, the interface can be updated to be more usable and aesthetically pleasing, the NLP algorithms can be improved to give better recommendations, and more ways to get involved with campus can be added (such as on-campus jobs or classes).

Share this project:

Updates