Skip to content

Hubfreelance App is a full-stack web app connecting project owners with freelancers. The frontend uses React.js and Tailwind CSS for a responsive, mobile-first design. The backend is built with Node.js and MongoDB, offering secure APIs for project and proposal management.

Notifications You must be signed in to change notification settings

omidkick/hubfreelance

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

6 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

HubFreelance

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.

πŸš€ Tech Stack

Frontend

  • React (with Vite)
  • Tailwind CSS for styling
  • Axios for API calls
  • Context API / State management

Backend


πŸ“‚ Project Structure

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


βš™οΈ Environment Variables

Backend .env

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?

About

Hubfreelance App is a full-stack web app connecting project owners with freelancers. The frontend uses React.js and Tailwind CSS for a responsive, mobile-first design. The backend is built with Node.js and MongoDB, offering secure APIs for project and proposal management.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published