https://github.com/apexryan/food-cloud
A MERN stack web application designed to help NGOs manage and redistribute surplus food from donors (restaurants, events, households) to the underprivileged.
https://github.com/apexryan/food-cloud
cloudinary jwt-authentication mern-stack postman restful-api
Last synced: 6 months ago
JSON representation
A MERN stack web application designed to help NGOs manage and redistribute surplus food from donors (restaurants, events, households) to the underprivileged.
- Host: GitHub
- URL: https://github.com/apexryan/food-cloud
- Owner: apexryan
- License: mit
- Created: 2025-08-24T18:16:05.000Z (7 months ago)
- Default Branch: main
- Last Pushed: 2025-08-28T16:14:34.000Z (7 months ago)
- Last Synced: 2025-08-28T21:51:04.743Z (7 months ago)
- Topics: cloudinary, jwt-authentication, mern-stack, postman, restful-api
- Language: JavaScript
- Homepage:
- Size: 7.29 MB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# π₯ FoodCloud: Cloud-Based NGO & Waste Food Management System
A cloud-powered MERN stack web application designed to help NGOs manage and redistribute surplus food from donors (restaurants, events, households) to the underprivileged. It bridges the gap between food donors and volunteers using real-time tracking, secure authentication, and optimized delivery logistics.
---
## π Key Features
- π **User Management**: Role-based login (NGO, Donor, Volunteer, Admin)
- π¦ **Donation Management**: Real-time food request form with image and location and availability tagging
- πΊοΈ **Admin Management**: Comprehensive admin tools to manage users, food posts and system operations
- πΊοΈ **Pickup & Delivery**: Route optimization for volunteers
- π **Analytics Dashboard**: Track total donations, meals served, and more
- π‘οΈ **Security**: JWT authentication, bcrypt hashing, HTTPS
**Project Overview Diagram**
---
## πΈ Screenshots
### π Login Screen

### π Home Page

### π§ Donor Dashboard

### π§βπ» Admin Dashboard

### π₯ Food Posts

---
## π§° Tech Stack
### π Frontend
- React.js (Vite)
- HTML5, CSS3, Bootstrap 5
- Axios
### βοΈ Backend
- Node.js + Express.js
- JWT Authentication
- Cloudinary for image uploads
- RESTful APIs
### ποΈ Database
- MongoDB Atlas (Cloud)
- Mongoose ODM
### βοΈ Cloud & Hosting
- Render / Docker (Backend deployment)
- Vercel / Netlify (Frontend deployment)
### β
Testing
- Jest, Mocha
- Postman for API testing
---
## π Project Structure
```bash
βββ Client/
β βββ frontend/ # React Frontend
β βββ public/
β β βββ vite.svg
β βββ src/
β βββ assets/
β βββ components/
β β βββ auth/ # Authentication components
β β βββ Chat/ # Real-time chat feature
β β β βββ Controls/
β β β βββ Loader/
β β βββ food/ # Food post management
β β βββ ngo/ # NGO specific components
β β βββ volunteer/ # Volunteer components
β βββ contexts/ # React Context providers
β βββ services/ # API services
βββ Server/ # Node.js Backend
β βββ config/ # Configuration files
β βββ controllers/ # Request handlers
β βββ middleware/ # Custom middleware
β βββ models/ # Database models
β βββ routes/ # API routes
β βββ services/ # Business logic
βββ images/ # Project screenshots
```
## π¦ Prerequisites
- Node.js
- MongoDB Atlas
- Postman for testing APIs
## π οΈ Installation
```bash
# 1. Clone the repository
git clone https://github.com/username/Food-Cloud.git
# 2. Navigate into the project folder
cd foodcloud
# 3. Install backend dependencies
cd server
npm install
# 4. Install frontend dependencies
cd client
cd frontend
npm install
# 5. Build frontend (optional for deployment)
npm run build
```
## π§ͺ Usage (Dev Mode)
```bash
# Run the backend server
cd server
npm start
# Run the frontend app
cd client
cd frontend
npm run dev
Then open http://localhost:5173 in your browser.
```
## π§Ύ Agile Milestones (6 Weeks)
| Week | Sprint Goal |
| ---- | ------------------------------------------ |
| 1οΈβ£ | Planning, Environment Setup, Schema Design |
| 2οΈβ£ | User Authentication, Role Management |
| 3οΈβ£ | Food Posting & Request Module |
| 4οΈβ£ | Volunteer Assignment & Status Lifecycle |
| 5οΈβ£ | Admin Dashboard, Cloud Deployment |
| 6οΈβ£ | Testing, UI Polishing, Documentation |
## π Future Enhancements
- π Push Notifications via Firebase
- π Multi-language support
- π± SMS reminders for pickups
- π¦ QR code-based delivery verification
## π€ Contributors
- Rupayan Kumar
- Subhajit Sadhukhan
- Rishab Das
- Saptarshi Dutta
## π License
This project is licensed under the MIT License.