This project is a Job Recommendation System that allows users to:
- Sign up and log in (JWT Authentication)
- Upload resumes (PDF/DOCX)
- Extract key skills from resumes using Gemini AI
- Match extracted skills with Adzuna API job listings
- Provide job recommendations based on user skills
- View recommended jobs via an API
- Frontend: React.js (Vite), Tailwind CSS
- Backend: Node.js, Express.js, MongoDB
- Authentication: JWT (JSON Web Token)
- Resume Parsing: Gemini AI for extracting key skills
- Job Listings: Adzuna API
- Deployment: Vercel (Frontend & Backend)
✅ User authentication (Login/Signup using JWT) ✅ Upload resumes (PDF/DOCX) ✅ Extract key skills from resumes using Gemini AI ✅ Fetch job listings from Adzuna API ✅ Match extracted skills with job listings ✅ RESTful APIs for job recommendations ✅ Responsive frontend with React.js
📂 JobForce LLC
┣ 📂 frontend (React.js with Vite)
┃ ┣ 📂 src
┃ ┃ ┣ 📂 components (Navbar, ListOfJobs, ProtectedRoute, UploadCard,etc.)
┃ ┃ ┣ 📂 pages (SignIn, SignUp, etc.)
┃ ┃ ┣ 📜 App.jsx
┃ ┃ ┗ 📜 main.jsx
┃ ┣ 📜 package.json
┃ ┣ 📜 vite.config.js
┗ 📂 backend (Node.js, Express.js, MongoDB)
┣ 📂 controllers
┣ 📂 models
┣ 📂 routes
┣ 📂 utils
┣ 📂 middleware
┣ 📜 index.js
┣ 📜 .env
┗ 📜 package.json
git clone https://github.com/Mohdadnan2320/JobQuest-.git
cd job-recommendation-systemcd backend
npm installCreate a .env file and add:
MONGO_URI=your_mongodb_connection_string
JWT_SECRET=your_jwt_secret_key
GEMINI_API_KEY=your_gemini_api_key
ADZUNA_APP_ID=your_adzuna_app_id
ADZUNA_API_KEY=your_adzuna_api_key
PORT=3000
FRONTEND_URL=your_frontend_urlStart the backend server:
npm run devcd ../frontend
npm installCreate a .env file and add:
VITE_BACKEND_URL=your_backend_urlStart the frontend server:
npm run dev- Go to Vercel and log in.
- Click New Project → Import the backend repository.
- Add environment variables from
.env. - Deploy and copy the backend URL.
- Go to Vercel and log in.
- Click New Project → Import the frontend repository.
- Set VITE_BACKEND_URL to the deployed backend URL.
- Deploy the frontend.
| Method | Endpoint | Description |
|---|---|---|
| POST | /api/register | Register a new user |
| POST | /api/login | Authenticate user & return JWT |
| POST | /api/logout | Authenticate user & Logout |
| Method | Endpoint | Description |
|---|---|---|
| POST | /api/service/upload | Upload resume & extract skills |
| POST | /api/service/joblist | Fetch recommended jobs based on skills |
All Rights Reserved © 2025 Mohd Adnan.