The Job Portal App is a full-stack web application built using the MERN stack (MongoDB, Express, React, Node.js). It features Clerk authentication and MongoDB integration, allowing users to browse job listings, apply for positions, and manage their applications. The application is styled with TailwindCSS and is deployed using Vercel.
- User Authentication with Clerk
- Browse and Search Jobs
- Apply for Jobs
- Post Job Listings (for recruiters)
- Rich Text Editing for Job Descriptions
- Notifications & Alerts with React Toastify
- File Uploads for Resume Submission
- Secure API Communication with JWT
- Performance Monitoring with Sentry
- Media Management via Cloudinary
- Installation:
npm create vite@latest
- Usage:
- Vite is a fast build tool for modern web applications, optimized for React.
- Installation:
npm install
- Usage:
- React is used to create dynamic UI components with a virtual DOM.
- Run the development server:
npm run dev
- Installation:
npm install react-router-dom
- Usage:
- Enables client-side routing and navigation.
- Installation:
npm install react-toastify
- Usage:
- Displays customizable toast notifications.
- Installation:
npm install quill
- Usage:
- Enables rich text formatting in job descriptions.
- Installation:
npm install k-convertor
- Usage:
- Converts between different formats (e.g., data transformation).
- Installation:
npm install moment
- Usage:
- Helps with date formatting and parsing.
- Installation:
npm i react-quill
- Usage:
- Integrates Quill editor seamlessly with React components.
- Installation:
npm i express
- Usage:
- A minimal web application framework for handling API requests.
- Installation:
npm i jsonwebtoken
- Usage:
- Secure authentication and token-based authorization.
- Installation:
npm i bcrypt
- Usage:
- Hashes user passwords for secure storage.
- Installation:
npm i mongoose
- Usage:
- Defines and manages MongoDB schemas and models.
- Installation:
npm i nodemon
- Usage:
- Auto-restarts the server during development when changes are detected.
- Installation:
npm i svix@1.42.0
- Usage:
- Secure webhook management for real-time updates.
- Installation:
npm i cors
- Usage:
- Enables cross-origin requests to interact with the API.
- Installation:
npm i multer
- Usage:
- Handles file uploads for resumes and job-related documents.
- Installation:
npm i dotenv
- Usage:
- Loads environment variables from the .env file into process.env.
- Installation:
npm i cloudinary
- Usage:
- Stores images and videos securely on the cloud.
- Installation:
npm install @sentry/profiling-node --save
- Usage:
- Monitors application performance and response times.
- Installation:
npm install @clerk/express
- Usage:
- Handles authentication seamlessly.
- Installation:
npm i axios
- Usage:
- Fetches data from APIs efficiently.
The frontend and backend is deployed using Vercel.
Ensure you have the following environment variables set up:
# for server side :
JWT_SECRET=
#MongoDB setup
MONGODB_URI=
#Cloudinary Setup
CLOUDINARY_NAME=
CLOUDINARY_API_KEY=
CLOUDINARY_SECRET_KEY=
#Clerk setup
CLERK_PUBLISHABLE_KEY=
CLERK_SECRET_KEY=
CLERK_WEBHOOK_SECRET=
# for client side :
VITE_CLERK_PUBLISHABLE_KEY=
VITE_BACKEND_URL=http://localhost:5000