Feeding Hope: Bridging Surplus Food to Those in Need
Inspiration
The idea for Feeding Hope came from the increasing problem of food waste while many people struggle with hunger. Restaurants, grocery stores, and households often have surplus food that goes to waste. We wanted to create a system that ensures this excess food reaches those who need it most efficiently.
What it does
Feeding Hope is a web-based platform that connects donors, admins, and agents to facilitate food donation and distribution:
- Donors (restaurants, individuals) can register and donate surplus food.
- Admins review donations and assign agents for food pickup.
- Agents collect the food and ensure it reaches the appropriate beneficiaries.
- The system tracks donations, assignments, and deliveries, ensuring transparency and efficiency.
How we built it
We developed Feeding Hope using:
- Backend: Node.js with Express.js for handling requests and business logic.
- Frontend: EJS for dynamic templating and rendering data efficiently.
- Database: MongoDB for storing donor records, donation details, and agent assignments.
- Authentication: Session-based authentication for secure access.
- Docker:
- The entire application is containerized to ensure seamless deployment across environments.
- MongoDB runs in a separate container for reliable data management.
- The entire application is containerized to ensure seamless deployment across environments.
Challenges we ran into
- Role-based access control: Ensuring that only admins can assign agents, donors can add donations, and agents can update their tasks.
- Real-time tracking: Keeping donation statuses updated dynamically across different users.
- Dockerizing MongoDB: Setting up a linked database container and handling connectivity issues between containers.
Accomplishments that we're proud of
- Successfully implementing a smooth donation workflow that connects donors, admins, and agents.
- Dockerizing the entire application, making deployment simpler and more efficient.
- Creating a user-friendly interface with EJS that allows seamless interactions.
What we learned
- How to implement multi-role authentication and permissions in a web app.
- The importance of efficient database structuring to manage food donations and assignments.
- How Docker helps in environment consistency and deployment ease.
What's next for Feeding Hope
- Geolocation integration: Assign agents based on proximity to the donor for faster pickup.
- Real-time notifications: Send updates to donors, agents, and admins for smoother coordination.
- AI-powered food demand prediction: Analyze donation trends to optimize logistics.
Feeding Hope is just the beginning—we aim to scale it to make a bigger impact in reducing food waste and feeding communities!
Log in or sign up for Devpost to join the conversation.