Everyone has things they no longer need, but it's often hard to find the right place to donate to. This leads to a lot of useful objects being discarded, which is an extreme waste of resources that not only leaves people with needs unmet but also contributes unnecessarily to landfills. To kill these two birds with one stone, we decided to create DonorHero.

What it does

DonorHero accumulates data on nationwide donation services and tags them according to the item categories they accept. Then, the user navigates to the "donate by category" screen and selects the broad category of the object they are donating, and the app presents a list of donation centers within a (roughly) 10-mile radius from the user's location!

Additionally, the user may choose to donate directly to a senior care center, in which case they navigate to "donate to senior care" screen, which displays a list of nearby senior care centers which easy access to call the centers or locate them on a map.

How we built it

All the coding was done in Android Studio, with 88% of the code written in Java and 11% in Kotlin. The remaining can be attributed to the XML layouts.

Challenges we ran into

The Google Maps API wasn't as convenient as we hoped, so we ended up working around it significantly which was rather painful. Another challenge was trying to create a clean layout for the users to be able to navigate without feeling overwhelmed.

Accomplishments that we're proud of

Getting the maps to work! And getting clean graphics to appear in the News section (that one's a surprise -- gotta use the app to see what we mean).

What we learned

We learned that using some APIs isn't as simple as using others. We also learned that it's generally better to code everything in one language rather than having one file be in a different language than the rest of the app...

What's next for DonorHero

Soon we hope to enable users to search for donation centers based on the individual objects they're donating, as well as allowing users to find donation centers that help with specific causes (cancer, specific natural disasters, etc.).

Built With

Share this project: