Purpose

The purpose of our project is to provide enriching and fulfilling volunteering opportunities for Marianopolis students. While a recent Marianopolis Volunteer initiative for group volunteering opportunities was created on a spreadsheet, it remains difficult to match students to their preferred organizations as the user interface is complex to navigate and only contains a list. Our website will simplify and personalize the process of connecting eager volunteer students to local organizations.

What it does

Our project is a website that sources its data from the Marianopolis Student Union’s volunteering network established at the beginning of the fall semester. It organizes listings by distance/location, keywords, and categories, thus allowing students to find opportunities in a more time-efficient and intuitive manner.

How we built it

Our website was built using a combination of technologies that allowed us to create a dynamic and responsive platform. For the back-end, we used Express, a JavaScript framework that handles all requests and responses. To store all the data related to the listings, we chose MongoDB which is a highly scalable and flexible NoSQL database. To include the search functionality on our website, we implemented Mongoose which allows users to search for keywords and find relevant listings. We also integrated Google Maps API, which helps to determine the distance between a user's inputted postal code and the volunteering destination. It also validates the data by checking the address for each volunteering listing. For the front-end, we used React, which allowed us to create an interactive interface that connects seamlessly with the back-end. By using these technologies, we were able to create a functional prototype.

How to improve it

To improve our website, there are several areas we could focus on, such as the user interface (UI) and user experience (UX). To enhance the UI, we would implement the design that we created on Figma, and for UX, we could simplify navigation on the website and improve the search functionality. Another area that we can improve is pagination, where we could optimize the code to only retrieve what we need, which would help us save processing power and reduce the number of API calls to Google Maps, ultimately saving money. We could also implement cookies to store user data locally, which would allow for a more personalized experience and enable us to offer features such as saved searches and favourites. These improvements would help to enhance the website's usability and appeal, making it more accessible and engaging for users.

Challenges we ran into / What we learned

Only one member in our team had prior experience in coding, so it was a bit more of challenging to collaborate effectively and he had to explain concepts to us so that we could work on our project submission together. We learned how to retrieve data and design a website that is intuitive; easy to navigate for all students.

What's next for BEGINNER | Mari Volunteering Network

We hope that our network will be implemented by the MSU and introduced to all Marianopolis students. We want to have a positive impact on the student body and encourage volunteering in our local communities. In the future we'd like to expand our project outside of Marianopolis, reaching into larger areas of Montreal or even Quebec, but without losing the personalizable aspect of our project. We want the categories to remain precisely sorted and effective, no matter the scale.

Share this project:

Updates