Skip to content

A full-stack job portal web application that allows users to search and apply for jobs, while recruiters can post and manage job listings. Built with React for the frontend and Node.js/Express/MongoDB for the backend, it features authentication, resume uploads, and a responsive design.

Notifications You must be signed in to change notification settings

JayPadghan/JOB-PORTAL

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 

Repository files navigation


🚀 Job Portal 🚀

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.


✨ Features

  • 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.

📂 Project Structure

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
  └── ...

🛠️ Getting Started

Follow these steps to get the project up and running on your local machine.

Prerequisites

Make sure you have the following installed and set up:

  • 📦 Node.js & npm
  • 🍃 MongoDB database
  • ☁️ Cloudinary account
  • 🔑 Clerk account (for authentication)

Environment Variables

Create .env files in both the client/ and server/ root folders and add the following variables:

Server (server/.env)

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

Installation

Server

cd server
npm install
npm run start

Client

cd client
npm install
npm run dev

Deployment

  • Vercel configuration files are provided in both client/ and server/ folders.
  • For production, set environment variables in your hosting provider.

API Endpoints

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

Technologies Used

  • React, Vite, React Router, Clerk, Axios, Quill, Tailwind CSS
  • Node.js, Express, MongoDB, Mongoose, Multer, Cloudinary, JWT, Sentry

About

A full-stack job portal web application that allows users to search and apply for jobs, while recruiters can post and manage job listings. Built with React for the frontend and Node.js/Express/MongoDB for the backend, it features authentication, resume uploads, and a responsive design.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages