Inspiration

Food waste is estimated at between 30-40 percent of the food supply in the US - this is even higher in universities! On top of this, ~30% of students in 4-year Universities report experiencing hunger. Hence Bite Share - an easy and seamless way to donate leftover or unwanted food to others in need.

What it does

Bite share is a web application where users can create an account to either donate or receive food. A donator can log into our site, upload an image of their unwanted/leftover food along with a short description and post it for everyone to see. A hungry student can then view this post in either a list or map format to find a location and food that fits their needs. Upon requesting food, both the donator and requester receive a text message informing them both of the logistics of their food transaction.

How we built it

The front-end of the web application was built using React.js and Redux store. The back-end was built on Node.js using Express. We also worked with the Google Maps API (on Google Cloud) and the Twilio API to display food locations on a map and to text users information regarding their transactions. To store food data, we used MongoDB on CloudAtlas. Some languages we used include Javascript, HTML, CSS/SASS. Some libraries we used include React Bootstrap, React Native, CORS, Axios, Mongoose, and Express.

Challenges we ran into

Some issues we ran into include the following.

  1. Implementing throttling functionality to update Redux store from local session data
  2. Authenticating and Configuring the Google Maps API to Display and Interactive Map
  3. Writing custom API queries from the ground up to interact with Twilio and MongoDB
  4. Making dynamic layouts that would deliver sufficient information to the user in an understandable manner

Accomplishments that we're proud of

  1. Rendering the Google Maps Interactive Layout
  2. Utilizing Twilio's API to facilitate texts between users
  3. Creating a full-stack dynamic web application using the MERN stack

What we learned

  1. How to work with authentication tokens and secret keys to utilize public APIs
  2. How to create scalable and maintainable code that avoids duplication by following DRY principles
  3. How to construct dynamic web applications from the ground-up
  4. How to work with others in a constructive manner using Git best practices

What's next for Bite Share

  1. We plan to connect to more public food bank APIs to deliver our users the best and most up to date information regarding offered food
  2. We plan to migrate our entire web application to the cloud to scale to more users
  3. We plan to launch a mobile app to expand our reach and to help more students in need
Share this project:

Updates