Connecting Surplus Food with People in Need
Reduce food waste • Support communities • Build a sustainable future
FoodBridge is a MERN-stack web application that connects individuals, restaurants, hotels, and organizations with surplus food to people who need it.
The platform allows donors to post available food, recipients to request it, and administrators to monitor and manage the entire system.
The primary objective is to reduce food wastage while ensuring edible food reaches people instead of ending up in landfills.
- Secure Signup/Login
- JWT Authentication
- Password hashing using bcrypt
- Protected routes
- Create food donation posts
- Add:
- Food name
- Description
- Quantity
- Category
- Expiry date
- Availability window
- Automatic location detection using browser geolocation
Recipients can
- Browse available food
- Request food
- Track requested donations
- Prevent duplicate requests
- Manage users
- Monitor food posts
- View claims
- Administrative controls
- Browser Geolocation API
- Latitude & Longitude storage
- Pickup location tracking
- React 19
- Vite
- React Router DOM
- Tailwind CSS
- Node.js
- Express.js
- MongoDB
- Mongoose
- JWT
- bcrypt.js
- CORS
- dotenv
- multer
FoodBridge
│
├── client
│ ├── src
│ │ ├── components
│ │ │ ├── Home
│ │ │ ├── Login
│ │ │ ├── Signup
│ │ │ ├── PostFood
│ │ │ ├── AdminDashboard
│ │ │ └── Header
│ │ │
│ │ ├── contexts
│ │ ├── utils
│ │ ├── App.jsx
│ │ └── main.jsx
│ │
│ └── package.json
│
├── server
│ ├── models
│ │ ├── User
│ │ ├── FoodPost
│ │ └── Claim
│ │
│ ├── routes
│ │ ├── UserRoutes
│ │ ├── FoodRoutes
│ │ ├── ClaimRoutes
│ │ └── AdminRoutes
│ │
│ ├── server.js
│ └── package.json
│
└── README.md
- Node.js
- MongoDB
- Git
git clone https://github.com/SankaraKrishnan12/FoodBridge.git
cd FoodBridgecd server
npm installCreate a .env file
PORT=5000
MONGODB_URI=your_mongodb_connection_string
JWT_SECRET=your_secret_keyRun the backend
node server.jscd client
npm install
npm run devFrontend runs on
http://localhost:8888
Backend runs on
http://localhost:5000
- Register/Login
- Create food posts
- Share surplus food
- Manage donations
- Browse available food
- Request food
- View requested items
- Manage users
- Monitor food listings
- Manage claims
- Oversee platform activities
- Name
- Password
- Role
- Food Name
- Description
- Quantity
- Category
- Expiry Date
- Availability Window
- Pickup Location
- Donor
- Recipient
- Food Post
- Status
- Request Time
- JWT Authentication
- Password Hashing (bcrypt)
- Protected API Routes
- Role-based Authorization
- Environment Variables
Donor
│
▼
Post Food
│
▼
FoodBridge Database
│
▼
Recipients Browse
│
▼
Request Food
│
▼
Admin Monitoring
- Google Maps integration
- Live donation tracking
- Email notifications
- Push notifications
- QR-code verification
- AI-based food recommendation
- NGO integration
- Donation analytics dashboard
- Mobile application
- Real-time chat between donor and recipient
"Every meal shared is a step toward a world with less waste and fewer hungry people."
FoodBridge aims to bridge the gap between food surplus and food scarcity by creating an accessible, transparent, and community-driven food donation platform.