When coming up with this idea, we thought about the fundamental ways of addressing HackDuke 2018's challenge of promoting social good, with one of the most widespread ways being donating to charities that have the greatest impact. However, we soon realized that currently, there is no way for individuals interested in donating to charities to gather information about the charities that align most with their interests and also quantitatively speaking, do the most good. Hence, we developed ucharity to connect those interested in donating to charities to ones that both fit their interests and have the greatest social impact.
What it does
Our webapp allows users to select up to five interests, and then returns the top charity related to each interest, judging by Charity Navigator's Charity Score metric. We are given the charity name, its website, and its tagline, also through the Charity Navigator API. We can further customize this by adding options to look for charities that are local or that allow for anonymous donation. We are also able to login to Facebook through the React App, which allows for further scraping of data such as user interests, page likes, and the ability to share to Facebook and encourage others to donate after a search.
How we built it
We built uCharity as a ReactJS app, hosted on Heroku and through a custom Domain.com domain name. We additionally added functionality from the Facebook API and from the Charity Navigator API. Additionally, we implemented our CSS for the website ucharity.net through Material-UI, a React UI Framework.
Challenges we ran into
One of the main challenges for us was gathering user likes information from the Facebook API. After spending several hours searching for a solution, we discovered that new Facebook privacy terms prohibited us from gathering this information without prior approval. Also, we had trouble hosting the react app on Heroku and syncing up changes to our Github.
Accomplishments that we're proud of
We are proud of being able to learn React within a day with no prior experience and apply it. Additionally, we are proud of using both the Facebook API and Charity Navigator API, two API's to which we had limited prior exposure.
What we learned
We learned how to work with various tools such as React, Heroku, and different APIs. Additionally, we gained more exposure to UI/UX design and deploying our app on a domain.
What's next for ucharity
In terms of what's next, we feel like the user should have more control over weighting their individual likes/interests accordingly to yield a better results for matching charities. Also, we are looking to further leverage the Facebook API into our project through not only tracking user likes, but other information as well such as friends, location, and events. Finally, we hope to introduce integration through PandaPay, which would allow us to donate to a specified charity directly through the webapp, instead of having to go to a different website.