Connect People to their Community Our team identified a problem in the lack of donations to local charities due to mistrust in donating to companies, inconvenience, or reluctance to give up a large sum of money. Change for Charity, a website focused on connecting users to local charities, combats this issue by allowing people to donate their spare change on a monthly basis. While these contributions may seem small, every penny helps, and it all adds up in the end.

What it does

Every Penny Counts Change for Charity is a fully-functional website with a variety of features available. Three especially important components include: an interactive map connecting users with local charities near them, an interest quiz that matches users to organizations that fit their interests, and the ability to create an account and access various features through this account such as inputting a credit card and manually entering money spent. For every transaction processed, rather from the card or manual input, the total is rounded up to the nearest dollar and the user's account balance is incremented by the remaining change from the purchase. By the end of the month, the user is prompted to donate to one of the charities that have been matched with them, showing them that their change can make an impact on their community.

How we built it

Web Development We coded most of this website in javascript using React, using css for styling purposes. We also incorporated various APIs into our work such as the google maps API and stripe API. We used the google maps API to display an interactive map showing the user's current location and various charities near them. We used the stripe API to collect information about user's credit cards and connect this to their account. To manage purchases made, we also ran a node.js server. Finally, we looked into a yelp database in order to gather information about charities in a given location and distinguishing factors about them that allowed us to match the user with charities most near their interests.

Challenges we ran into

Learning Curve For most of the members on the team, this was our first time using many of the processes and languages that we utilized in this project. For example, learning the syntax of React was new and difficult at first, slowing us down at the beginning of this endeavor. As we progressed past this learning curve, we encountered new obstacles from the integration of foreign APIs into our code and troubleshooting of previously-unknown errors. Finally, we felt pressed for time due to the fact that our fourth teammate chose to leave the hackathon without informing us beforehand.

Accomplishments that we're proud of

Teamwork We still recall the very first version of our webpage, a simple, clumsy tool with a ghastly lavender background and a tacky puppy picture. We have come a long way since this first attempt. With our website now spanning more than fifteen pages, we are proud to have become more comfortable with web development and API integration, two tasks that we were previously untrained in. Our team is especially proud of the hard work that we put into this project, despite the many roadblocks and frustrations that we faced. We never gave up, and we grew as both friends and programmers during this experience.

What we learned

Key Takeaways At the end of this experience, we learned many valuable skills regarding web development. First, we learned that organization and planning are integral pieces to making a website. Secondly, we strengthened our ability to work as a team and delegate tasks, leading and contributing to the greater whole. We also learned new technical skills such as becoming comfortable with new languages and exploring web development and API integration. Finally, we learned how to properly conduct research in order to accomplish our goals.

What's next for Change for Charity

Future Goals Change for Charity still has a ways to go before it reaches its full potential. In the future, we hope to expand/improve upon this platform by tweaking certain pages to ensure accuracy and adding additional features that we ran out of time to implement here. For example, we hope to implement an option for the user to create a 'maximum limit' for the amount of money they would like to donate monthly. This increases user accessibility because they are more likely to donate smaller sums and use the website if they feel they are in control of their spending.

Share this project: