Skip to content

My first MERN stack projectFull-stack freelancing marketplace built with MERN, featuring OTP verification, bid management, project assignment, and email automation.

Notifications You must be signed in to change notification settings

devdesai06/FreelanceHub

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

32 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🌐 FreelanceHub β€” MERN Freelancing Marketplace Platform

FreelanceHub is a full-stack freelancing marketplace inspired by Fiverr & Upwork. It enables clients to post projects, freelancers to bid, and both parties to collaborate through a structured workflow. Built using the MERN stack, this platform focuses on real-world functionality like secure authentication, OTP email verification, MongoDB transactions, and automated email notifications.

πŸš€ Live Demo

Frontend: https://freelance-hub-hmju.vercel.app/

Backend: Hosted on Render

🎯 Features πŸ” Authentication & Security

JWT + HTTP-only cookies

Secure login & registration

Email-based OTP verification (Brevo API)

Protected routes & middleware authentication

πŸ“© Email System

OTP verification email

Bid acceptance notifications

Beautiful HTML templates

Uses Brevo HTTP API (no SMTP issues)

πŸ‘€ Client Features

Post projects

View & manage bids

Accept a freelancer (auto-updates all bids)

Track assignment status

πŸ§‘β€πŸ’» Freelancer Features

Browse available projects

Place bids with proposal + amount

Receive email when bid is accepted

Track assigned projects

πŸ“ Project Management

Project workflow (open β†’ in-progress)

MongoDB session transactions ensure safe state updates

Clean bid rejection + acceptance logic

🎨 UI & UX

Clean, modern UI

Responsive, smooth user experience

Inspired by Fiverr marketplace design patterns

🧠 What I Learned

Building FreelanceHub helped me dive deep into:

Authentication & JWT best practices

OTP workflows + email API integration

MongoDB transactions for safe updates

Production debugging (SMTP issues, CORS, deployments)

Deploying MERN apps on Vercel + Render

Writing scalable backend controllers

Designing clean, intuitive UI

🚧 Future Enhancements

Coming soon:

πŸ”„ Pagination for projects & bids

πŸ’¬ Real-time chat system between clients & freelancers

πŸ“Š Freelancer & client dashboards

πŸ”” Push notifications

⭐ Profile pages with ratings & reviews

πŸ›  Tech Stack

Frontend

React Context API / Hooks React Router Axios CSS (Responsive design)

Backend

Node.js Express.js MongoDB + Mongoose JSON Web Tokens (JWT) Brevo Email API Render (Deployment) Tools Git & GitHub Vercel Render Postman

πŸ— Project Structure FreelanceHub/ β”‚ β”œβ”€β”€ frontend/ # React frontend β”‚ β”œβ”€β”€ components/ β”‚ β”œβ”€β”€ pages/ β”‚ β”œβ”€β”€ context/ β”‚ └── styles/ β”‚ β”œβ”€β”€ backend/ β”‚ β”œβ”€β”€ controllers/ # User, Project, Bid controllers β”‚ β”œβ”€β”€ routes/ # API routes β”‚ β”œβ”€β”€ models/ # MongoDB schemas β”‚ β”œβ”€β”€ middlewares/ # Auth middleware β”‚ └── index.js # Server entry β”‚ └── README.md

βš™οΈ Installation & Setup 1️⃣ Clone the repo git clone cd FreelanceHub

2️⃣ Install backend dependencies cd backend npm install

3️⃣ Install frontend dependencies cd ../frontend npm install

4️⃣ Environment Variables

Create a .env inside backend:

MONGO_URI=your_database_url JWT_SECRET_KEY=your_jwt_secret BREVO_API_KEY=your_brevo_key

5️⃣ Run backend npm run dev

6️⃣ Run frontend npm start

πŸ“‘ API Highlights POST /register

User signup

POST /sendOtp

Sends OTP email

POST /verifyEmail

Verifies email using OTP

POST /login

User login

POST /placeBid/:id

Freelancer places a bid

POST /acceptBid/:id

Client accepts a bid (email notification sent)

⭐ Support This Project

If you found this project helpful or inspiring, please consider giving it a ⭐ on GitHub! It motivates me to keep building and improving.

πŸ‘€ Author

Dev Desai Full Stack Web Developer (MERN) LinkedIn: https://www.linkedin.com/in/dev-desai-8bb22331b?utm_source=share&utm_campaign=share_via&utm_content=profile&utm_medium=android_app

About

My first MERN stack projectFull-stack freelancing marketplace built with MERN, featuring OTP verification, bid management, project assignment, and email automation.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published