Inspiration

Covid-19 has taken a toll on local businesses. We developed this extension in an effort to raise awareness for this issue and make it easier for consumers to support their local businesses.

What it does

Stay Local adds a small house icon onto local business listings on Google so you can easily see which restaurants and stores are locally owned. It also adds a small Black Lives Matter symbol onto black-owned stores on sites like Etsy.

How We built it

We built the front end using HTML and CSS. The identification of businesses is built using javascript and calls to our own API. Our backend is built on NodeJS on Cloud Functions, and Gin Go on Google Cloud Kubernetes engine.

Challenges we ran into

Backend:

Dockerizing and writing a docker-compose.yml file was very hard. We went with PostgreSQL rather than MySQL, because I have experience with AWS Aurora, but AWS didn't sponsor this event, and PostgreSQL is closer to it than MySQL. We had a series of problems with port forwarding, however once we realized how simple PostgreSQL is everything came easily. Our final struggle was moving our system onto Google Cloud Kubernetes engine which was surprisingly easily after everything else.

Front end:

  • Writing fetch requests
  • Embedding HTML

Accomplishments that we're proud of

Backend: When I built the Golang Kubernetes API, we followed a tutorial. But after doing everything it said nothing worked. I got so annoyed I copied their code because I thought maybe I had done a step wrong, but their source code didn't work either! After 2 hours of debugging, I caught the bug in their code, and I submitted a PR to their Github Repo to fix it.

This was my first time working with Kubernetes, and though I have been studying Golang for a few weeks, this is my first project with it. I'm proud that it works!

Front end:

  • Working extension
  • Pretty website

What we learned

  • Learned a lot about Golang
  • Learned about Kubernetes
  • Learned about Javascript fetch requests

What's next for Stay Local

Currently, our extension only works on a few select sites, in the future, we'd like to expand our database and make it more versatile to better identify locally-owned and black-owned businesses.

Share this project:

Updates