Inspiration

Our inspiration for "Enlistor" came from observing a gap between the availability of volunteer opportunities and the potential volunteers' awareness of these opportunities. Many people are willing to contribute their time and skills to causes they care about but often don't know where to start or what options are available nearby. I wanted to create a tool that not only bridges this gap but also encourages community involvement by making information accessible and easy to use.

What it does

"Enlistor" is a web application that helps users find volunteer opportunities based on their location. Users can see available positions from various organizations within their vicinity, get details about the volunteering hours, the specific days available, the distance from their location, and direct links to the registration pages of these opportunities. The app aims to streamline the process of finding and signing up for volunteer work, making it easier for everyone to get involved in their communities.

How we built it

I built "Enlistor" using a combination of React.js for the frontend and Node.js with Express.js for the backend. The front end is designed to be user-friendly, providing an interactive map and a list view that updates in real time as the user changes their location. The backend handles requests efficiently, fetching data from our database that includes details of various volunteering opportunities categorized by location, time, and type of work.

  1. Frontend Development: Implemented using React.js, utilizing state management techniques to handle user inputs and API responses dynamically.
  2. Backend Development: Built with Node.js and Express.js, our server-side logic includes API endpoints for fetching volunteer data, filtering it according to user preferences, and handling user location data securely.
  3. Data Management: I used a simple JSON-based storage system to prototype our application, which I plan to upgrade to a more robust database system like MongoDB for better query performance and scalability.

Challenges we ran into

One of the main challenges was ensuring accurate and fast location-based filtering of volunteer opportunities. Handling geospatial queries efficiently on the fly required some initial research and trial and error with different backend configurations. Additionally, integrating the frontend map interface with dynamic data without causing performance lags presented a significant learning curve.

Accomplishments that we're proud of

I are particularly proud of creating a responsive and intuitive user interface that simplifies the process of finding volunteer work. The real-time updating map and list views that I implemented have been very well received in our initial user tests. I'm also proud of our backend’s ability to handle complex queries efficiently, ensuring that users experience minimal load times.

What we learned

Throughout the development of "Enlistor," I gained a deeper understanding of full-stack development, from managing state in React to handling API requests and responses in Node.js. I also improved our skills in geospatial querying and learned new ways to optimize web applications for better user experience and performance.

What's next for Enlistor

Moving forward, I plan to expand "Enlistor" by incorporating a more robust database, implementing user authentication, and possibly adding a feature for organizations to directly post and manage their volunteer opportunities. I also want to enhance the mobile experience to ensure that users can access our service on the go. Ultimately, our goal is to partner with major non-profits and local governments to broaden the impact of our service.

Share this project:

Updates