Inspiration

For years, Montreal has ranked as a premier hub for ambitious students not simply for its renowned universities, but the countless of accessible grubs within walking distance of every school. Lately, with the incessant rising tuition costs and aftermaths of the Covid lockdown, both students and local businesses are dealing with two ends of the same problem; one wanting to put food on the table and the other having excess food with no one to provide to.

With FoodForward, our goal is to help both struggling students and local businesses by having an application that gives students access to leftover food collected from local businesses that would have otherwise found itself in a trash bin. In turn, local business would be receive free advertisement as well as putting their uneaten food to good use. We hopes to bring the people of Montreal together and pick each other up in these trying times.

What it does

FoodForward is a web application that serves as an interface for both students and businesses. Users who sign up and are verified as students have access to donated food databases at participating schools (schools will serve as pick-up spots for donated items) and can select a daily limited amount of food to pick up for free. Alternatively, businesses can sign in and donate specific amounts of foods at a location of their choice. They will also be personally thanked and have a section dedicated to them on the webpage of the location they have graciously donated to.

How we built it

Our backend was written in Python using MongoDB as our database server. For our frontend, we worked with Angular, using Nebular as our UI library and Flask to handle our frontend requests.

Accomplishments that we're proud of

As newbies to hackathons and app development in general, we are thrilled to have pieced together an idea we believe in. Everyone played a vital part in this collaboration and we already have ideas on how we can further develop this project beyond this 24 hour window.

In our innovative project, we leverage the power of graph algorithms to create an optimized food donation routing system for students. Our goal is to find the most efficient path for students to access food donation spots, considering various constraints like food availability, seating capacity, and distance. Here's how we do it:

  • Personalized Student Routing: We start by using a student's email to query their specific location, treating it as the "Starting Node" in our graph. Each student becomes a node in our network, and we calculate the best route for them based on a comprehensive metric, including food preferences, university/food place availability, and commute factors.

  • Constraint-Based Shortest Path: Our algorithm considers not just the shortest distance but also factors in two or three additional constraints. These constraints can include personal food preferences, university/food place availability, and commute time. By optimizing these constraints, we determine the shortest path for each student to reach the nearest optimal university or food donation spot.

  • Max Flow Optimization: To prevent congestion and ensure a smooth flow of students to the food donation spots, we employ the max flow algorithm. It dynamically adjusts the flow from the source (S), where students tend to gather, to the target (T), representing the food donation spots. By pushing excessive student traffic along the edges, we effectively manage congestion and streamline the food distribution process.

Our project harnesses the principles of algorithm design and optimization to create a more efficient and student-friendly food donation system, ensuring that every student gets access to the nourishment they need.

What we learned

Many of us are learning the programs used to build our application on the fly. At first, this was a big challenge, but it turned out to be really rewarding. Working through these difficulties improved our tech skills and made us feel proud and more capable as a team. This experience showed us how important it is to keep learning and adapting, especially with how fast technology changes.

What's next for FoodForward

There are a number of ideas we have regarding how we can further implement this application. To name a few:

  • Cross-Institutional Collaboration Platform: Expand the system to include multiple schools through a scalable, cloud-based infrastructure. Integrate secure APIs for data exchange, broadening the network of students and businesses involved in donations.

  • Google Maps Integration with Optimization Algorithms: Implement Google Maps with advanced geospatial and maximum flow algorithms for efficient routing and logistical operations. Enhance user experience with real-time GPS tracking and dynamic route adjustments based on traffic and environmental data.

  • Real-Time Data Analytics Dashboard: Develop a live dashboard displaying real-time statistics on food savings and donations using real-time data streaming technologies. Utilize data analytics and visualization tools to present insights through interactive charts and graphs for improved decision-making.

Share this project:

Updates