The Job Portal is a full-stack MERN application that allows companies to post and manage job listings while enabling users to apply for suitable job opportunities. The platform features authentication, job searching, and category-wise filtering, all within a modern, fully responsive UI.
- Company Dashboard: Employers can log in, post job listings, manage applications, and edit job details.
- User Authentication:
- Normal Users: Authentication via Clerk Auth for login and signup.
- Companies: Authentication via JWT Auth.
- Job Application Management:
- Users can apply for jobs by uploading resumes stored in Cloudinary.
- Companies can accept or reject job applications after reviewing resumes.
- Companies can view the list of applied users for their job postings.
- Companies can make their posted jobs invisible if required.
- Search & Filter: Powerful search functionality, including category-wise filtering.
- Error Monitoring: Integrated Sentry for error tracking.
- Responsive UI/UX: Fully responsive and modern design, optimized with Tailwind CSS.
- Backend: Built with Node.js, Express, and MongoDB.
- Frontend: Developed using React and Tailwind CSS.
- Deployment: Hosted on Vercel (frontend) and Node.js backend.
- React.js
- Tailwind CSS (for styling and full responsiveness)
- Clerk Auth (for user authentication)
- Node.js
- Express.js
- MongoDB
- Cloudinary (for file storage)
- Sentry (for error monitoring)
- JWT Auth (for company authentication)
- Frontend: Vercel
- Backend: Node.js with Express and MongoDB
- Node.js installed
- MongoDB database setup
- Cloudinary account configured
- Clerk Auth credentials
- JWT Auth setup for company login
- Clone the repository:
git clone https://github.com/RishavK1/Job-Portal.git cd job-portal
- Install dependencies for both frontend and backend:
cd client npm install cd ../server npm install
- Configure environment variables:
- Create a
.env
file in theserver
directory and add:MONGO_URI=your_mongodb_connection_string CLOUDINARY_CLOUD_NAME=your_cloudinary_cloud_name CLOUDINARY_API_KEY=your_cloudinary_api_key CLOUDINARY_API_SECRET=your_cloudinary_api_secret CLERK_SECRET_KEY=your_clerk_secret_key JWT_SECRET=your_jwt_secret_key
- Create a
- Start the backend server:
cd server npm run server
- Start the frontend:
cd client npm run dev
- Open the application in your browser at
http://localhost:3000
.
client/ # Frontend React application
├── public/
├── src/
│ ├── assets/
│ ├── components/
│ ├── context/
│ ├── pages/
├── .gitignore
├── package.json
├── package-lock.json
├── vite.config.js
├── tailwind.config.js
├── postcss.config.js
├── vercel.json
├── eslint.config.js
├── index.html
server/ # Backend Node.js application
├── config/
├── controllers/
├── middlewares/
├── models/
├── routes/
├── utils/
├── .gitignore
├── package.json
├── package-lock.json
├── server.js
├── vercel.json
Contributions are welcome! Feel free to fork this repository and create pull requests.
This project is licensed under the MIT License.
For queries or support, feel free to reach out via [rishavkamboj75@gmail.com] or visit the GitHub repository.