A full-stack web platform built with the MERN stack, designed to connect street food vendors with verified raw material suppliers across India. FreshConnect aims to bring transparency, trust, and efficiency to the local food supply chain.
- Application Preview
- About The Project
- Key Features
- Tech Stack
- Getting Started
- API Endpoints
- Our Team
- Contributing
- License
- Contact
A glimpse into the FreshConnect platform, from the landing page to the functional user dashboards.
| Landing Page & Multi-Language Support | Clean & Simple Login |
![]() |
![]() |
| Supplier Dashboard | Vendor Complaint System |
![]() |
![]() |
FreshConnect tackles a core challenge in the local food industry: the disconnect between street food vendors and reliable suppliers. Vendors struggle to find fresh ingredients at fair prices, while suppliers lack a broad, organized market to sell their goods.
This platform serves as a centralized B2B marketplace built on a foundation of trust and transparency. It empowers vendors to make informed purchasing decisions and helps suppliers grow their business by reaching a wider, verified customer base.
The platform offers a tailored experience for its two primary user roles:
| For Street Food Vendors π§βπ³ | For Raw Material Suppliers π |
|---|---|
| Find Trusted Suppliers: Browse a curated list. | List Products: Showcase your inventory. |
| Compare Prices: Make cost-effective decisions. | Manage Orders: Fulfill orders efficiently. |
| Join Group Orders: Get bulk-rate discounts. | Bid on Group Orders: Secure large volume sales. |
| Track Deliveries: Real-time order tracking. | Analytics Dashboard: Gain insights into sales. |
- β Dual User Roles: Separate registration and dashboards for Vendors and Suppliers.
- π GSTIN & License Verification: All suppliers are manually verified to ensure authenticity.
- β AI-Powered Trust Ratings: Reviews are analyzed for sentiment to provide genuine, reliable trust scores.
- π§ Automated Email Notifications: Instant alerts for new orders and status updates using Nodemailer.
- π Secure Authentication: JWT-based authentication to protect user accounts and data.
- π¬ 24/7 Support: A dedicated contact channel for resolving issues and ensuring smooth operations.
This project is built using modern web technologies:
| Frontend | Backend | Database | Deployment & Other |
|---|---|---|---|
| React.js | Node.js | MongoDB | Cloudinary (Image Storage) |
| Redux Toolkit | Express.js | Mongoose | Nodemailer (Emails) |
| Axios | JWT | Vercel (Frontend) | |
| Tailwind CSS | Render / Cyclic (Backend) |
To get a local copy up and running, follow these simple steps.
Make sure you have the following installed on your machine:
-
Clone the repository:
git clone https://github.com/sm00th76/freshconnect.git cd freshconnect -
Install Backend Dependencies:
cd backend npm install -
Install Frontend Dependencies:
cd ../frontend npm install -
Set Up Environment Variables: Create a
.envfile in thebackenddirectory and add the following variables. Use the.env.exampleas a guide.# Server Configuration PORT=5001 MONGO_URI=your_mongodb_connection_string # JWT Secret JWT_SECRET=your_super_secret_jwt_key # Nodemailer (Gmail App Password) EMAIL_USER=your-gmail-address@gmail.com EMAIL_PASS=your-16-character-app-password ADMIN_EMAIL=admin-email-to-receive-notifications@example.com # Cloudinary (for image uploads) CLOUDINARY_CLOUD_NAME=your_cloud_name CLOUDINARY_API_KEY=your_api_key CLOUDINARY_API_SECRET=your_api_secret -
Run the Application:
- Backend Server (from the
backendfolder):npm run dev
- Frontend Server (from the
frontendfolder):npm start
- Backend Server (from the
A brief overview of the core API routes:
| HTTP Method | Route Endpoint | Description | Protected |
|---|---|---|---|
POST |
/api/users/register |
Register a new Vendor or Supplier. | No |
POST |
/api/users/login |
Authenticate a user and get a JWT. | No |
POST |
/api/products |
(Supplier) Create a new product listing. | Yes |
GET |
/api/products |
Get all available products. | No |
POST |
/api/orders |
(Vendor) Create a new order. | Yes |
PUT |
/api/orders/:id/status |
(Supplier) Update an order's status. | Yes |
POST |
/api/contact |
Send a message via the contact form. | No |
This project was brought to life by a dedicated team of developers and thinkers.
| Name | Contribution | Profile |
|---|---|---|
| Aryan Jha | Frontend & Backend | |
| Ashish Kumar | Backend & DBMS | |
| Aryaa Sharma | Ideation & UI/UX | |
| Baladitya Khantwal | GenAI |
Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
Please see the CONTRIBUTING.md file for our contribution guidelines.
Distributed under the MIT License. See LICENSE.txt for more information.



