Inspiration
The EPA estimates that in 2018, “about 68 percent of the wasted food we generated—or about 42.8 million tons-- ended up in landfills or combustion facilities.” The average person doesn’t realize how much food they waste on a daily basis. By shopping and eating smart, we can save money and conserve natural resources. Knowing this, we wanted to create an app to shed a light on people's food waste habits. So we created Waste-ED to track expiration dates.
What it does
Waste-ED is an expiration date tracker. A user can add food to their pantry and then see how many days left until that food item expires. They then can “eat” an item or “throwaway” an item. With these three buckets, a user can see what food they need to eat and see a record of their past eating and wasteful food habits.
How we built it
This app was built with React, React-bootstrap, CSS, and JavaScript. We used localStorage to handle data persistence. We designed a Figma, defined features to build (MVP and Stretch), divided up tasks on a kanban board, and coded away (with many git conflicts… see below)!
Challenges we ran into
GIT CONFLICTS! For 3/4 team members, this was our first hackathon. As such, we had to learn the git workflow and how to manage git conflicts. Safe to say, we made it out with only one use of git push —force!
React UseEffect Infinite Loop: Okay, now this one we didn’t actually solve in the end. We were trying to trigger a rerender of our components when data was updated — however, our data object was in a separate file (data.js), and hence we got the react dependency is out of scope error. After 3 hours of debugging and one team member’s boyfriend pulled in for help… we still couldn’t figure it out. Oh well! We will just have to squash this bug after the hackathon.
We hit the Max API Calls: We got the functionally to add photos of any food item from an API working (and started working on an autocomplete search method) BUT we exceeded the max number of API calls for this API endpoint. Sad to see these features not implemented, but we just have to wait until we have more API calls again (and don’t use them all up while testing).
Accomplishments that we're proud of
- Collaboration and bonding! It hit us how special and empowering it was to work as a team of females. We made new friendships and cannot wait to continue supporting and learning from each other in our careers!
What we learned
- How to manage a git work workflow with a team of people and how to resolve git conflicts both on GitHub.com and in VSCode
- React Hooks (half the team)
- Local Storage
What's next for Waste-ED
Stats! We want to integrate statistics to show users how much food waste they saved or made, how much carbon emissions they saved/made, etc. These statistics would be displayed both as percentages and ratios as well as a pie chart.
User Login and persistence across devices: A user can create an account and user information will be stored in a backend server (MongoDB or Postgres potentially).
Log in or sign up for Devpost to join the conversation.