With both recent news events and firsthand experience on the confusion and hesitation associated with understanding charity finances and reliability, we were inspired to make an application that would make understanding charities easier and promote more efficient donations. We aim to facilitate users in identifying which charities are the most transparent, reliable and honest both for causes personally valuable to the user and overall.

What it does is a website that allows users to filter through data and visualize different measures of charity evaluation on an interactive map implemented using the Google Maps API. Both a colorized gradient map and a traditional searchable database are integrated in the website with links aiming to direct the user to more information on the charity, drop down selection menus to specify search parameters, and an inspiring mission statement to describe to the user the aim and value of the sophisticated tool.

How we built it

We used python to extract data from the Charity Navigator API, kaggle, and also consolidated data from other sources in for different United States regions. We then used this data and the google maps API to create a colorized map of the United States with multiple data layers. We created a database of the 8000+ charities by using the google cloud platform compute engine VM and we launched MongoDB on it and connected through the MongoDB URI. We used Node.JS to communicate with MongoDB and created a REST API for the Google Maps API Data Analysis. We also worked on creating a logo in Gimp and Inkscape to represent our mission in a single graphic.

Challenges we ran into

We had difficulties with extracting our data from the xls, csv and json formats. We had to overcome problems in the vast amount of data as well. With over thousands of entries, we spent time averaging values and manipulating the data to create accurate and concise representations of the charities. We also had trouble with errors regarding the region of Washington DC, which is not identified as a state. After realizing this and fixing hurdles in the data extraction and analysis, we created the map. Implementing the colorized gradient map provided difficulties first with creating methodology for grouping states together. We realized a way to do this was creating polygon shapes using geocode coordinates. Shading the google map implementation provided its own problems with representing colors that were proportional to the data values for each state. With mathematical analysis, consolidation of data and some sleep, we were able to accomplish a proportionally colorized gradient map of the United States.

Accomplishments that we're proud of

We are proud of the visually appealing interactive map and its accuracy in representing the data values in a manner simple to the average user. We are also very proud of the highly effective collaboration and integration of the diverse levels of knowledge and specializations in the team. Another accomplishment we pride in is the successful usage and understanding of multiple different APIs and languages. Additionally, learning git and using github was a challenge we had to overcome as some of us had no experience with the tool. Both the APIs and git had a significant learning curve, but we are very proud of our increased knowledge in both technologies. The charity database is another accomplishment as it was very difficult to extract and present the data but it turned out to be both functional and attractive.

What we learned

We learned how to integrate and implement many different APIs as well as how to work as a team with diverse skills on a single goal. We also learned how to use git, google platform technologies, node.js, jquery and work with multiple different data formats.

What's next for Big Fat Charity

We aim to add online payment methods directly onsite to allow users to donate to the charities they have identified and researched about. Another goal is to allow both charities and users to create accounts to login to the service application to save searches or favorites, add verified data about themselves, and make payments. We also hope to develop a mobile application for the service and make it publicly available.

Share this project: