A full-stack job portal web application for job seekers and recruiters. Built with React (Vite) for the client and Node.js/Express/MongoDB for the server.
- ✅ User Authentication: Secure user sign-up and login via Clerk.
- ✅ Recruiter Tools: Easy registration and login for recruiters.
- ✅ Job Management: Recruiters can post, manage, and update job listings.
- ✅ Application System: Job seekers can apply for jobs and upload resumes.
- ✅ Candidate Dashboard: View applied jobs and track application status.
- ✅ Company Dashboard: A central hub for managing jobs and viewing applicants.
- ✅ File Uploads: Cloudinary integration for seamless image and resume uploads.
- ✅ Error Monitoring: Sentry integration for real-time error tracking.
- ✅ Responsive Design: A clean and modern UI built with Tailwind CSS.
The project is organized into two main directories: client and server.
client/
├── src/
│ ├── components/
│ ├── context/
│ ├── pages/
│ ├── assets/
│ ├── App.jsx
│ ├── main.jsx
│ └── index.css
├── public/
├── index.html
├── package.json
└── ...
server/
├── config/
├── controllers/
├── middleware/
├── models/
├── routes/
├── utils/
├── server.js
├── package.json
└── ...
Follow these steps to get the project up and running on your local machine.
Make sure you have the following installed and set up:
- 📦 Node.js & npm
- 🍃 MongoDB database
- ☁️ Cloudinary account
- 🔑 Clerk account (for authentication)
Create .env files in both the client/ and server/ root folders and add the following variables:
MONGODB_URI=your_mongodb_connection_string
JWT_SECRET=your_jwt_secret
CLOUDINARY_NAME=your_cloudinary_name
CLOUDINARY_API_KEY=your_cloudinary_api_key
CLOUDINARY_SECRET_KEY=your_cloudinary_secret
CLERK_WEBHOOK_SECRET=your_clerk_webhook_secret
PORT=5000
Client .env example:
VITE_BACKEND_URL=http://localhost:5000
VITE_CLERK_PUBLISHABLE_KEY=your_clerk_publishable_key
cd server
npm install
npm run startcd client
npm install
npm run dev- Vercel configuration files are provided in both
client/andserver/folders. - For production, set environment variables in your hosting provider.
See server/routes for all available endpoints.
/api/jobs– List and get jobs/api/company– Company registration, login, job posting, applicants, etc./api/users– User data, apply for jobs, update resume, applications
- React, Vite, React Router, Clerk, Axios, Quill, Tailwind CSS
- Node.js, Express, MongoDB, Mongoose, Multer, Cloudinary, JWT, Sentry