🍽️ FoodRescue - Surplus Food Management System

Food Rescue Version License

A web platform connecting restaurants with NGOs to reduce food waste and help communities in need. Built by Team Aryavarti - Hail Aryavart!

🌟 Overview

FoodRescue tackles the global food waste crisis by creating a real-time bridge between restaurants with surplus food and NGOs serving communities in need. We're turning waste into hope, one meal at a time.

The Problem: 33% of all food produced globally is wasted while millions go hungry daily.
Our Solution: A seamless platform that enables restaurants to donate surplus food and NGOs to quickly claim and distribute it to those in need.

🚀 Features

For Restaurants 🏪

  • Post Surplus Food - Easy form to list available food items
  • Smart Expiry Tracking - Automatic categorization (High/Medium/Low perishable)
  • Location-based Matching - Connect with nearby NGOs
  • Impact Dashboard - Track your food rescue contributions
  • Real-time Notifications - Get alerts when food is claimed

For NGOs 🤝

  • Browse Available Food - View nearby food donations on interactive map
  • Quick Claim System - One-click food claiming process
  • Direct Communication - Contact restaurants for pickup coordination
  • Real-time Updates - Instant notifications for new food posts

🛠️ Tech Stack

Frontend

  • React 18 - Modern UI framework with hooks
  • Vite - Fast build tool and dev server
  • CSS3 - Custom animations and responsive design
  • React Leaflet - Interactive maps and location services
  • JavaScript ES6+ - Modern JavaScript features

Backend

  • Node.js - Runtime environment
  • Express.js - Web application framework
  • REST API - Stateless API architecture
  • CORS - Cross-origin resource sharing

Development Tools

  • Git - Version control
  • ESLint - Code linting
  • Nodemon - Development server auto-restart

📦 Installation & Setup

Prerequisites

  • Node.js (v14 or higher)
  • npm or yarn package manager

Quick Start

  1. Clone the repository
    ```bash
    git clone
    cd food-rescue

⚙️ Installation & Setup

Install Dependencies

npm install

Start Development Servers

Terminal 1 – Backend Server npm run dev:server

Server runs on: http://localhost:5000

Terminal 2 – Frontend Development npm run dev

Frontend runs on: http://localhost:5173

Access the application at: http://localhost:5173


🎯 How It Works

🥗 Food Categorization System

Category Examples Auto-Expiry
🔴 High Perishable Milk, salads, seafood, cut fruits 2 hours
🟡 Medium Perishable Curries, rice, bread, cooked vegetables 6 hours
🟢 Low Perishable Dry snacks, biscuits, packaged food 24 hours

👨‍🍳 User Journey

For Restaurants:

  1. Register/Login as Restaurant
  2. Go to Dashboard → "Post Food" tab
  3. Fill food details (name, quantity, location, expiry)
  4. Submit → Food becomes available to nearby NGOs

For NGOs:

  1. Register/Login as NGO
  2. View available food on dashboard
  3. Click "Claim" on desired items
  4. Contact restaurant for pickup coordination

📱 Demo Access

Role Email Password
Restaurant Demo restaurant@demo.com any password
NGO Demo ngo@demo.com any password

🗺️ Supported Locations

Currently serving Jalandhar, Punjab with demo data including:

Restaurants: Pizza Hut, McDonald's, Domino's, KFC
NGOs: Robin Hood Army, Feeding India, No Food Waste, Roti Bank


🔧 API Endpoints

Method Endpoint Description
GET /api/health Server status check
POST /api/auth/login User authentication
POST /api/auth/register User registration
GET /api/food-posts Get available food listings
POST /api/food-posts Create new food post
PATCH /api/food-posts/:id/claim Claim food item
GET /api/nearby/ngos Find nearby NGOs
GET /api/nearby/restaurants Find nearby restaurants

🏗️ Project Structure

src/
├── components/ # Reusable components
│ ├── Header.jsx
│ ├── Footer.jsx
│ ├── DarkModeToggle.jsx
│ ├── LoadingScreen.jsx
│ └── MapPicker.jsx
├── pages/ # Main application pages
│ ├── Home.jsx
│ ├── Dashboard.jsx
│ ├── About.jsx
│ ├── HowItWorks.jsx
│ ├── GetStarted.jsx
│ ├── ForUsers.jsx
│ ├── Impact.jsx
│ ├── Contact.jsx
│ └── ThankYou.jsx
├── styles/ # CSS stylesheets
│ ├── App.css
│ └── Dashboard.css
└── services/ # API services
└── api.js


🚀 Deployment

Build for Production npm run build

Preview Production Build npm run preview


🤝 Contributing

We welcome contributions! Please feel free to:

  • Submit pull requests
  • Report bugs
  • Suggest new features

Development Guidelines

  1. Fork the repository
  2. Create a feature branch
    git checkout -b feature/amazing-feature

  3. Commit your changes
    git commit -m "Add amazing feature"

  4. Push to the branch
    git push origin feature/amazing-feature

Copy code

  1. Open a Pull Request

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.


👥 Team Aryavarti-Manish Tiwari

Motto: Hail Aryavart 🇮🇳


🌟 Acknowledgments

  • Inspired by the global movement against food waste
  • Thanks to all restaurants and NGOs working to feed communities
  • Built with passion to create social impact through technology

🚀 Every meal saved makes a difference. Join us in turning waste into hope!

Built With

Share this project:

Updates