Inspiration

In 2022, around 37.9 million people were in poverty in the United States alone. Donating helps millions in poverty yet many people throw away items that can be donated easily. While others want to donate but don’t know where to get started. That’s why I wanted to make a website that allows people to donate effortlessly.

What it does

Donation station allows users to post requests for donations and allows users to offer items they want to donate. It automatically sorts the posts by the distance to the user and automatically matches relevant donation offers to donation requests. Users can then message each other to decide on the specifics of the donation. Donation station reduces waste by allowing users to donate items they don’t need any more while providing for those in need.

How I built it

I built it using a MySQL database, Node.js for the backend, and React.js for the front end. I used the MySQL database to store user messages, donation requests, donation offers, and user information. I used Node.js to access the database and send information to the front end. I used React.js to display the nearby donation requests and donation offers.

Challenges I ran into

One of the biggest challenges was time management. I had to plan and complete all parts of the website before the deadline. Another big challenge was figuring out how to use the Google Maps autocomplete API. I had trouble using it to validate and autocomplete the location input field. It took a long time to set up and use the API since I had never used it before.

Accomplishments that I’m proud of

The website had most of the features I wanted despite the time constraint. I’m proud of the messaging feature since I did not have much time to make and test that feature. I’m also proud of figuring out how to use the Google Maps autocomplete API.

What I learned

I learned how to use the Google Maps autocomplete API. The API helped me automatically complete the location input field and validate the location.

What's next for Donation Station

I plan on sorting the posts based on their relevance as well. Currently, the posts are sorted based on distance alone, but I plan on factoring in whether the product is relevant to the user. I would also like to integrate transportation and donation delivery into the website. Additionally, I want to gamify the experience by awarding donors points for being active and adding a leaderboard to track who has donated the most and accumulated the most points to encourage people to donate more. I also want to improve the messaging feature by making it real-time, adding notifications and a private messaging option.

Built With

Share this project:

Updates