GigFlow is a full-stack freelancing platform where clients can post gigs and freelancers can bid on them.
- React (Vite)
- Tailwind CSS
- React Router
- Node.js
- Express.js
- MongoDB (Mongoose)
- JWT Authentication (HttpOnly Cookies)
- Git & GitHub
- Axios
- User Registration & Login
- JWT-based authentication using HttpOnly cookies
- Protected routes
- Create gigs (Client)
- View all open gigs
- Search gigs by title
- Freelancers can submit bids
- Gig owners can view bids
- One-click hire functionality
- Only gig owner can hire a freelancer
- Selected bid is marked as hired
- Other bids are rejected automatically
gigflow/ │ ├── backend/ │ ├── src/ │ │ ├── controllers/ │ │ ├── models/ │ │ ├── routes/ │ │ ├── middlewares/ │ │ └── app.js │ ├── server.js │ ├── .env │ └── .env.example │ ├── frontend/ │ ├── src/ │ │ ├── components/ │ │ ├── pages/ │ │ ├── context/ │ │ └── api.js │ ├── index.html │ └── vite.config.js
Create a .env file in backend directory using .env.example
Example: PORT=5000 MONGO_URI=your_mongodb_connection_string JWT_SECRET=your_jwt_secret
cd backend
npm install
npm run dev
cd frontend
npm install
npm run dev
---
### 🔹 7. Assignment Note
```md
## Assignment Note
This project was developed as part of a Full Stack Developer assignment.
The focus was on backend logic, authentication security, and real-world workflows
rather than UI perfection.