Inspiration

This past year, we were looking for volunteering opportunities in the area that made use of our skillsets. During our search, we found that there was a disconnect between community leaders and willing volunteers. The current solutions for volunteer listings are not user-friendly and are not very attractive options. We wanted to change the way organizers and volunteers connect. We believe that by providing a platform for seamless organization and tracking volunteer hours, we can encourage citizens to get involved and make their communities a better place.

What it does

  1. Volunteezy provides a platform to connect community leaders with community members looking to volunteer. All users can create a post with details about their volunteering opportunity, and other users can RSVP to the opportunity. Community leaders can apply for verification to denote official opportunities. All other community members can organize informal initiatives for other volunteers to join.
  2. Volunteezy is designed to incentivize users to volunteer more. We created a point system so users can feel a sense of fulfillment and progress from volunteering. Using this point system, we created a leaderboard to motivate users to commit more time towards volunteering. We plan on introducing a rank system and certificates to encourage users to reach goals.
  3. Volunteezy provides tools for tracking volunteer hours. These features are useful for people such as high school and college students who need a way to save and organize their completed hours. Volunteezy has a timesheet system where users can add, edit, or remove volunteering records. Because the timesheet is integrated with our system, hours completed with a verified organizer will display a verified icon. This verification system can reduce the work done by organizations such as schools to verify the hours. We plan on introducing additional features to the timesheet system such as an export tool to create an official PDF version of the timesheet.

How we built it

Volunteezy was built using the MERN (MongoDB, Express.js, React, Node.js) tech stack. We started with a backend running on an Express.js web server. The backend reads, writes, and updates data with a MongoDB instance for flexible data storage and queries. The frontend was built with React for smooth interactions between the user interface and the API.

Challenges we ran into

We first attempted to write the frontend with vanilla HTML/CSS/JS. However, we determined that for our purposes, React would provide better functionality. Porting our existing site code into React proved difficult and consumed a lot of time that was supposed to be spent building out the user interface.

Accomplishments that we're proud of

We completed all the elementary features of the app in the backend. We are also proud of our work on the frontend because we are primarily skilled in backend development.

What we learned

We learned a lot about the MERN stack. We learned about NoSQL databases with MongoDB and creating interactive websites with React.

What's next for Volunteezy

In the frontend, many features that have been completed on the backend need to be implemented in the user interface. This includes commenting, timesheet features, login/register pages, In the backend, the user account authorization system (e.g. login, session tokens) needs to be fully built out. Error messages and request schema are not uniform, so the API specification needs to be refactored. In general, more features need to be created for a better user experience. Examples things we have in mind are: ranking system based on points, share post functions, monthly/weekly leaderboards, more columns in the timesheet (supervisor contact info, signature), export timesheet, certificates (linkable to LinkedIn), search bars, and more. We also plan on using React Native to create mobile apps on iOS and Android.

Share this project:

Updates