Inspiration

We looked at how many apps reward their users for doing good things. Take for example Ply.io: They reward people for being healthy and working out. We wanted to build a platform that rewards its users.

What it does

As a user, you can register for certain volunteering events hosted by a variety of organizations in different areas. As you spend more time volunteering, the app tracks your time and you earn points to redeem for rewards such as free food and great coupons.

How we built it

We used node.js for the backend with an Express API that queried our NoSQL MongoDB database. We then created a React Native act using the Expo framework to make it a mobile friendly app. The app makes requests to our backend and data is delivered accordingly.

Challenges we ran into

  • Location retrieval: Due to the permisson complexity of iOS and Android, it was rather hard for us to incorporate location into the app. We think location is a vital part of the software as it helps find volunteer opportunities and rewards redeemable in the area.

  • Deploying it to GCP: We had set up our instance and used the GCP CLI to deploy our code, however, there were many installation issues on the GCP side for the code to run. In order to fix this for the future, we would look into pre-deploy scripts that install the correct dependencies for the project.

Accomplishments that we're proud of

  • Built a decently complex express.js API backend connected to MongoDB
  • Beautiful looking react-native app
  • Working together to draft a solution on paper for at least an hour and a half before starting to code (IMPORTANT)

What we learned

  • Some of us had experience with React.js and thought that it would be a breeze with React Native. We were wrong. Even though the learning curve isn't that steep, learning a new framework still takes a while. 24 hours is not a lot!

What's next for HelpCafe

  • Definitely implement location to get nearby volunteering opportunities and rewards
  • Incorporate geofencing to make sure that a person only earns rewards for when they are actually at the volunteering location
  • Put more ways to communicate in the app: Volunteers want to connect with organizations:
  • Social media plugins to share opportunies
Share this project:

Updates