A full-stack web application that connects restaurants and individuals with surplus food to people in need. The platform allows donors to list excess food, and volunteers can request pickups to redistribute it.
Goal: To reduce food waste and fight hunger by building a seamless, user-friendly interface for food donations and pickups.
Tech Stack:
- Frontend: Next.js, TypeScript, Tailwind CSS, Axios
- Backend: Node.js, Express.js, MongoDB (Mongoose)
- API Design: RESTful endpoints
- Styling: Lucide Icons, Tailwind gradients, modern UI components
- Submit donation details (restaurant name, food type, quantity, location, contact)
- View past donations in History
- Responsive and mobile-friendly UI
- Browse available food donations
- Click "Request Pickup" to mark food as picked up
- Filter out already picked up donations
Food-Rescue-App/ βββ backend/ β βββ models/ β β βββ FoodItem.js β βββ routes/ β β βββ foodRoutes.js β βββ server.js βββ frontend/ β βββ app/ β βββ browse/ β βββ donate/ β βββ history/ β βββ components/ β β βββ AddDonationForm.tsx β β βββ DonationCard.tsx
| Method | Endpoint | Description |
|---|---|---|
| GET | / |
Fetch all donations |
| POST | / |
Create a new food donation |
| PATCH | /:id/pickup |
Mark a donation as picked up |
Uses Mongoose validation and error handling
cd backend
npm install
node server.js
## Frontend
cd frontend
npm install
npm run dev
π§ͺ Testing Data
{
"restaurantName": "Green Bites",
"foodType": "Vegetarian Rice",
"quantity": "20 meals",
"location": "MG Road, Bangalore",
"phone": "9876543210"
}
π· Screenshots
π€ Donate Page π₯ Browse Page π History Page
<p align="center">
<img src="" alt="Food Rescue App Screenshot" width="200"/>
<img src="" alt="Food Rescue App Screenshot" width="200"/>
<img src="" alt="Food Rescue App Screenshot" width="200"/>
</p>
πΌ Why This Project Matters
Showcases full-stack skills (CRUD, REST APIs, state management)
Addresses real-world problem (food waste)
Clean, production-level code with professional UI/UX
Prepared to extend with authentication, maps, notifications, etc.
β¨ Future Enhancements
User login system (Admin/Volunteer)
Pickup location map integration (Google Maps)
Notifications to NGOs
Food expiry handling
π¨βπ» Developer
Maneesh Kumar
MCA | Full-Stack Developer | Passionate about impactful software
LinkedIn | GitHub
π License
This is a student project for learning purposes. Not intended for production or open-source reuse.