An open API service indexing awesome lists of open source software.

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.

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
![Login Screen](images/Login.png)

### 🏠 Home Page
![HomePage](images/HomePage.png)

### πŸ§‘ Donor Dashboard
![Donor Dashboard](images/DonorDB.png)

### πŸ§‘β€πŸ’» Admin Dashboard
![Admin Dashboard](images/AdminDB.png)

### πŸ₯— Food Posts
![Food Post](images/Foodpost.png)

---

## 🧰 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.