GitHub

https://github.com/sina-jamshidi/nwHacks2021-ShareStreet

Cloud Infrastructure

Sharestreet infra diagram

Sharestreet is a cloud-native application that is highly available and automatically scaled. It runs on a Kubernetes cluster powered by Google Kubernetes Engine, managed by Terraform.

Inspiration

We wanted to help food banks and other charitable organizations manage and redistribute their resources. Food insecurity is a major social issue in Canada which has been further exacerbated by the Covid-19 pandemic.

In addition, we also wanted to help hospitals and smaller clinics share PPE and other medical supplies when there was urgent need from the shortages caused by the pandemic.

What it does

Our application facilitates the sharing of donated supplies between organizations. For example, local food banks may find that they have too much of an item and need to redistribute this item in a prompt manner, whereas others lack items and need a platform in which to put out a call for such items. Very small food banks, pantries, and closets, may not have relationships with larger networks that would allow them to seek out resources. Using our web application, it would be fast and convenient for them to put out a call to multiple food banks at once expressing their need. Or, if a foodbank had too much of an item, they can match their excess supplies better by finding a foodbank that is in need of such item.

How we built it

ShareStreet is a cloud-native webapp with a React frontend and an Express backend. It runs on Google Kubernetes Engine and is highly available and automatically scaled.

Challenges we ran into

Provisioning and management of Kubernetes on GKE was challenging as it was our first time interacting with GCP. However, we do have AWS Kubernetes experience, which allowed us to swiftly resolve many issues we encountered.

It was difficult to get the frontend and backend to communicate properly with each other, and the database was also new to us. Fortunately Firestore has a very straightforward library for node.js which allowed us to easily implement APIs that interact with Firestore.

Accomplishments that we're proud of

We're glad that we were able to make a cloud-native application for easy distribution of resources between charity organizations. We hope many will make use of our application to share resources and minimize resource waste due to product expiry.

Share this project:

Updates