Inspiration

Due to coronavirus budget cuts, New York City will be suspending curbside composting beginning on May 4, 2020 and ending in June 2021. Residents will no longer be able to discard food scraps and yard waste as compost and compostable items must be collected as garbage. In order to allow people to continue composting, we designed Compost Share to allow people with backyard compost bins to collect compost from their neighbors. This allows for reusing of compost materials within a community or neighborhood!

What it does

Users may either (1) add a drop off location for others to bring their compost to or (2) look for nearby compost drop-off areas to bring their personal food scraps and yard waste to.

How we built it

Our stack comprises of MongoDB as well as a back-end server built with Express, and React for our front end. We also utilized the Google Maps Javascript API.

Challenges we ran into

One challenge we ran into was deployment. All of our code lives in a single git repository even though we have two servers. We have a front-end and back-end server that must be deployed separately. We were originally going to deploy both with Heroku. Heroku requires a remote back end git repository in order to deploy. This means we would need nested git remotes, which proved difficult since we are unfamiliar with it. Instead, we deployed our front end react server with Netlify and back end with Heroku. We found Netlify difficult to work with. We wanted an environment variable to act as a flag between development and production. But we found it hard to figure out how to access environment variables with Netlify. We ended up utilizing the Node Environment variables as a work-around for our production specific configurations.

Accomplishments that we're proud of

We are excited to have a deployed website that is not solely on a local host url, but can be accessed by anyone who goes to our public link! On top of successfully deploying, we are all really proud of styling it to function on mobile and web well.

What we learned

We learned how to use the Google Maps API, React, and set a project up from scratch. None of us have built a website from start to finish before so it was exciting to work on every step of the process collaboratively. We also learned some basic modern javascript and css.

We also learned a ton about environment variables, node environment variables, and exporting configurations separately in production in order to keep API Keys private.

What's next for Compost Share

In the future, Compost Share will be used by people worldwide to allow organic material to be discarded sustainably. This website was designed to allow for continued composting during the coronavirus pandemic in NYC and other cities with cancelled services. However, Compost Share may continue to be used in cities that don't offer composting well after the pandemic is over. In the future, we are hoping to allow users to create an account with the ability to manage their drop-off locations personally.

+ 4 more
Share this project:

Updates