Inspiration
As a high schooler myself, I find it very difficult to find volunteer opportunities for me to gain hours, but more importantly, gain experience and have a positive impact on my community. I tried to use popular platforms such as VolunteerMatch or Volunteer.gov, but I noticed that it only allowed popular organizations to post their opportunities, and the worst part is that they when you register for an opportunity, the organizer never emails you back! With this disappointment, I decided that I will create an app that can help fellow students earn volunteering experience and hours.
What it does
HelpingHero has a very simple UI that anybody can understand and follow along. As soon as the user registers/logs in, the home page appears where the user can either search for an opportunity, or create an opportunity. When the user clicks "Search", the program takes it to a page where they can see all the volunteer opportunities listed, both from the web, and the opportunities that people can create in the app, whether their organization is big or small. When the user clicks "Create", it allows them to create an opportunity for others on the app to see. This will include all the details about the opportunity, such as the organizer name, the duties of the student, and the amount of hours they will earn. The amount of hours that the student has earned in total can be tracked in the profile page which is included in the navigation bar at the bottom of every page.
How I built it
I used Swift on Xcode to create most of the things needed for this app to function, such as all of the pages, the navigation bar, and the volunteer hours counter. I used mySQL to keep track of who registered, and all of the opportunities they created/joined. Using mySQL helped a lot because now that I knew the opportunities they created, it made it easy to simply display what they created onto another user's "Search" page. It involved a lot of coding, but it was worth it, both for the aesthetic look and the great result!
Challenges I ran into
The biggest challenge I ran into whilst creating this application was the part where I had to implement mySQL to keep track of what opportunities the user created, and what was even harder was making sure that it registered correctly for me to display it on the search page. This took me a lot of time to figure out, but after lots of trial and error, I found out how to do it.
Accomplishments that I'm proud of
As soon as I got the hardest part (refer to Challenges I ran into), I knew the rest would be easy for me to implement, as I had the blueprint down, and wrote some pseudo code to ensure that it would work. The accomplishment I am most proud of is HelpingHero, the complete application.
What I learned
While creating this app, I learned that patience is key to creating anything you want. I was very angry with myself when I couldn't figure out where I was going wrong, but as soon as I took the time to reflect on what I have to do, think about it deeply, and understand the issue, I got the result I desired.
What's next for HelpingHero
With the money I get if I win, I can use it to make this app better by including a rating system, make it global instead of just California, and include advanced filters such as distance from one's location, their age, etc.
Log in or sign up for Devpost to join the conversation.