HubFreelance is a full-stack freelancing platform where project owners can create projects and freelancers can submit proposals.
The app includes authentication, profile management, payment integration, and an intuitive UI built with React + Tailwind CSS.
- React (with Vite)
- Tailwind CSS for styling
- Axios for API calls
- Context API / State management
- Node.js + Express
- MongoDB (Mongoose ODM)
- Authentication with JWT (Access & Refresh tokens)
- Kavenegar API (SMS verification)
- Zarinpal Payment Gateway (payment processing)
- Cookie-based sessions
- Error handling with
http-errors
hubfreelance/ βββ backend/ # Express + MongoDB server β βββ router/ # API routes β βββ models/ # Mongoose models β βββ controllers/ # Route controllers β βββ middlewares/ # Custom middlewares β βββ Application.js # Main Express application class β βββ server.js # Server entrypoint β βββ frontend/ # React + Vite client β βββ src/ # Components, hooks, pages β βββ public/ # Static assets β βββ vite.config.js β βββ README.md # Project documentation
APP_DB=mongodb://localhost:27017/react-freelancer-app
KAVENEGAR_API_KEY=your_kavenegar_api_key
ACCESS_TOKEN_SECRET_KEY=your_access_token_secret
REFRESH_TOKEN_SECRET_KEY=your_refresh_token_secret
COOKIE_PARSER_SECRET_KEY=your_cookie_secret
TOKEN_SECRET_KEY=your_token_secret
ZARINPAL_CALLBACK_URL=/api/payment/verify
CLIENT_URL=http://localhost:3000
SERVER_URL=http://localhost:5000
NODE_ENV=development
PORT=5000
ALLOW_CORS_ORIGIN=http://localhost:3000,http://localhost:4173
DOMAIN=localhost
### Frontend.env.production.local
VITE_BASE_URL=http://localhost:5000/api
βΆοΈ Getting Started
1. Clone the repo
git clone https://github.com/omidkick/hubfreelance.git
cd hubfreelance
2. Install dependencies
## Backend
cd backend
npm install
## Frontend
cd frontend
npm install
3. Run the app
Start backend (Express server)
cd backend
npm run dev
Start frontend (React app)
cd frontend
npm run dev
-------------------------------------
π Features
π Authentication (JWT-based with refresh tokens, secure cookies)
π€ User Profiles (project owners & freelancers)
π Projects & Proposals system
π³ Payment Integration (Zarinpal)
π± SMS Verification (Kavenegar)
π¨ Modern UI (React + Tailwind, responsive design)
β‘ Fast Development (Vite bundler)
π€ Contributing
Contributions, issues, and feature requests are welcome!
Feel free to open a PR or issue on GitHub Issues
.
π License
This project is licensed under the MIT License β see the LICENSE
file for details.
---
This is **production-level**:
- Documents backend + frontend clearly.
- Explains `.env` usage.
- Professional structure + deployment notes.
- Clean sections (Tech Stack, Features, etc.).
π Do you want me to also include **example API endpoints (like `/api/user/profile`, `/api/auth/register`)** in the README, so new developers/testers can test your backend quickly?