This project is a comprehensive job portal that allows employers to post, delete, and view job applications and resumes, while job seekers can browse jobs, filter them based on location, and apply. Additionally, it features an automation system that sends job notifications via email to job seekers based on their preferred job niches.
-
Employer Features:
- Post and delete job postings.
- View all applications for their jobs, including resumes.
-
Job Seeker Features:
- Browse and filter jobs based on location or keyword search.
- Apply to jobs and view their applied jobs on a dashboard.
-
Automation:
- Automatically emails job seekers when a job matching their preferred niches is posted.
@reduxjs/toolkit
axios
react
react-dom
react-icons
react-redux
react-router-dom
react-spinners
react-toastify
bcrypt
cloudinary
cookie-parser
cors
dotenv
express
express-fileupload
jsonwebtoken
mongoose
node-cron
nodemailer
validator
Ensure the following services are installed and running:
Run the following command to clone the repository:
git clone https://github.com/bluemincoder/Job-Portal.git
cd client
npm run dev
cd Backend
npm run dev
-
Register a User Allows users to create a new account.
Method: POSThttp://localhost:4000/api/v1/user/register
-
Login a User Authenticates a user and returns a token.
Method: POSThttp://localhost:4000/api/v1/user/login
-
Get User Details Fetches the details of the logged-in user.
Method: GEThttp://localhost:4000/api/v1/user/getuser
-
Logout a User Logs out the current user.
Method: GEThttp://localhost:4000/api/v1/user/logout
-
Update Profile Updates the user's profile information.
Method: PUThttp://localhost:4000/api/v1/user/update/profile
-
Update Password Updates the user's password.
Method: PUThttp://localhost:4000/api/v1/user/update/password
-
Post a Job Creates a new job listing.
Method: POSThttp://localhost:4000/api/v1/job/post
-
Get All Jobs Retrieves all available job listings.
Method: GEThttp://localhost:4000/api/v1/job/getall
-
Get My Jobs Retrieves all jobs posted by the logged-in user.
Method: GEThttp://localhost:4000/api/v1/job/getmyjobs
-
Delete a Job Deletes a specific job listing.
Method: DELETEhttp://localhost:4000/api/v1/job/delete/:id
-
Get a Single Job Retrieves details of a specific job.
Method: GEThttp://localhost:4000/api/v1/job/get/:id
-
Post an Application Submits a job application.
Method: POSThttp://localhost:4000/api/v1/application/post/:id
-
Employer Get All Applications Retrieves all applications received by the employer.
Method: GEThttp://localhost:4000/api/v1/application/employer/getall
-
Job Seeker Get All Applications Retrieves all applications submitted by the job seeker.
Method: GEThttp://localhost:4000/api/v1/application/jobseeker/getall
-
Delete an Application Deletes a specific application.
Method: DELETEhttp://localhost:4000/api/v1/application/delete/:id
-
Frontend:
-
Backend:
-
Employers:
- Employers can register, log in, and manage job postings through their dashboard.
- Applications for jobs are accessible, with resumes displayed for review.
-
Job Seekers:
- Job seekers can browse and filter jobs, then apply with a resume.
- Notifications are sent automatically for jobs matching their preferences.
-
Automation:
- Job seekers can set three preferred niches. When a job post matches, they receive an email notification.