A full-stack freelancing platform connecting Employers, Freelancers and Admins to manage projects, proposals and user approvals.
Live demo: https://JobHop.makiabadi.com/
JobHop is a multi-role web application with three primary user panels:
- Employer: create/edit projects, review proposals, accept/reject freelancers.
- Freelancer: browse projects, submit proposals, manage profile.
- Admin: manage users, categories, projects and proposals; approve registrations.
- Multi-role authentication (Admin / Employer / Freelancer)
- Role-based dashboards and permissions
- Project creation, proposal submission and management
- Category-based project organization
- Admin approval workflow for new users
- Frontend: React, Vite, JavaScript, TailwindCSS
- Backend: Node.js, Express
- Database: MongoDB
- Authentication / OTP: Twilio Verify
- Deployment: Render / Netlify / MongoDB Atlas
frontend/β React app (Vite). See frontend/README.md for more details and demo login.backend/β Express API. See backend/README.md for running and OTP/Twilio notes.
Prerequisites: Node.js (16+ recommended), npm, MongoDB (Atlas or local).
- Backend
cd backend
cp .env.example .env # fill in secrets
npm install
npm run devRequired backend env variables (Twilio / OTP highlights):
TWILIO_ACCOUNT_SIDTWILIO_AUTH_TOKENTWILIO_VERIFY_SIDTWILIO_FROM(optional)- Optionally set
IS_TESTING_MODE_OTP=trueduring development to return OTP in API responses.
- Frontend
cd frontend
npm install
npm run devOpen the frontend (usually at http://localhost:5173) and use the demo login (see frontend README) or create an account.
- Frontend: deployable to Netlify / Vercel / Render as a static SPA.
- Backend: deployable to Render / Heroku / similar Node hosting.
- Database: MongoDB Atlas is recommended for production.
Feel free to open issues or PRs. Follow existing code style and add tests where appropriate.
This repository does not include a license file. Add one if you plan to open-source this project.