Skip to content

A MERN stack-based job portal with role-specific functionality. Users can apply for jobs, track their application status, and recruiters can manage job postings, accept/reject applications, and view all candidates. Authentication is powered by Clerk, with a user-friendly interface and scalable backend.

Notifications You must be signed in to change notification settings

shozabali06/Job-Portal-MERN

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Job Portal

Live Demo

Click here to view the live demo

Description

The Job Portal is a MERN stack-based web application where users can apply for jobs and recruiters can manage job postings. It includes authentication via Clerk and separate functionalities for job applicants and recruiters.


Features

  • User Functionality:
    • Login/Signup using Clerk authentication.
    • View and apply for available jobs.
    • Track application status (Accepted/Rejected).
  • Recruiter Functionality:
    • Separate login/signup for recruiters.
    • Dashboard to manage job postings.
    • Accept or reject job applications.

Installation Instructions

  1. Clone the repository:
git clone https://github.com/shozabali06/Job-Portal-MERN.git
  1. Navigate to the project directory:
cd Job-Portal-MERN

Backend Setup

  1. Navigate to the backend folder:
cd backend
  1. Install dependencies:
npm install
  1. Configure environment variables: Create a .env file in the backend folder and add the following:

    MONGODB_URI=<your-mongodb-connection-string>
    JWT_SECRET=<your-jwt-secret>
    CLOUDINARY_NAME=<your-cloudinary-name>
    CLOUDINARY_API_KEY=<your-cloudinary-api-key>
    CLOUDINARY_API_SECRET=<your-cloudinary-api-secret>
    CLOUDINARY_URL=<your-cloudinary-url>
    CLERK_WEBHOOK_SECRET=<your-clerk-webhook-secret>
    CLERK_PUBLISHABLE_KEY=<your-clerk-publishable-key>
    CLERK_SECRET_KEY=<your-clerk-secret-key>
  2. Start the backend server:

npm run server

Frontend Setup

  1. Navigate to the frontend folder:
cd frontend
  1. Install dependencies:
npm install
  1. Configure environment variables: Create a .env file in the frontend folder and add the following:

    VITE_CLERK_PUBLISHABLE_KEY=<your-clerk-publishable-key>
    VITE_BACKEND_URL=<url-for-backend>
  2. Start the frontend server:

npm run dev

Commands Summary

Backend Commands

  • Install dependencies: npm install
  • Run the server: npm run server

Frontend Commands

  • Install dependencies: npm install
  • Run the client: npm run dev

Environment Variables Summary

Backend Folder

  • MONGODB_URI: MongoDB connection string.
  • JWT_SECRET: Secret key for JSON Web Token.
  • CLOUDINARY_NAME: Cloudinary account name.
  • CLOUDINARY_API_KEY: Cloudinary API key.
  • CLOUDINARY_API_SECRET: Cloudinary API secret.
  • CLOUDINARY_URL: Cloudinary URL.
  • CLERK_WEBHOOK_SECRET: Clerk webhook secret.
  • CLERK_PUBLISHABLE_KEY: Clerk publishable key.
  • CLERK_SECRET_KEY: Clerk secret key.

Frontend Folder

  • VITE_CLERK_PUBLISHABLE_KEY: Clerk publishable key for the frontend.
  • VITE_BACKEND_URL: URL of the backend server.

Feel free to reach out for further assistance or feature suggestions!

About

A MERN stack-based job portal with role-specific functionality. Users can apply for jobs, track their application status, and recruiters can manage job postings, accept/reject applications, and view all candidates. Authentication is powered by Clerk, with a user-friendly interface and scalable backend.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages