A full-stack, enterprise-grade job portal connecting talented professionals with top companies.
JobLinker is a sophisticated, responsive, and scalable job portal built with the modern MERN stack. Designed to streamline the recruitment lifecycle, it provides an intuitive platform for Job Seekers to find roles, save favorites, and track applications, while giving Recruiters & Admins a powerful dashboard to manage job postings, review resumes, and process candidates.
The application features a stunning SaaS-style UI, utilizing modern design tokens, smooth animations, dynamic empty states, and built-in dark mode support.
- Role-Based Access Control: Distinct authentication flows and guarded routes for Students vs. Recruiters.
- JWT Security: Secure token-based API authentication.
- OTP Forgot Password: Integrated with the Resend API for secure, reliable password recovery via email.
- Advanced Job Search & Filter: Instantly filter jobs by location, job type (Full-time, Part-time, Remote), salary range, and experience level.
- Save Jobs Feature: Seamlessly bookmark jobs you love. Your saved jobs are persisted across sessions.
- Profile & Resume Management: Upload and manage your professional bio, skills, and resume via Cloudinary.
- One-Click Apply: Instantly submit your application and track your status (Pending, Accepted, Rejected).
- Company Management: Register multiple company profiles, upload company logos, and update organization details.
- Job Posting Panel: Create, edit, and delete job listings with rich criteria (positions, salary, location, requirements).
- Applicant Tracking System (ATS): A dedicated table view to review all applicants per job, download their resumes, and update their application status in real-time.
- Responsive Architecture: Fluid layouts that perfectly adapt to Mobile, Tablet, and Desktop screens using Tailwind CSS.
- Dark/Light Theme: Built-in system-aware theme toggle that instantly switches the entire app's color palette.
- Sonner Notifications: Beautiful, animated, and theme-aware toast notifications for success, error, and info states.
- Empty State System: Custom-designed, illustration-backed fallback UI for empty search results, empty dashboards, or logged-out views.
- Shadcn/UI Integration: Accessible, unstyled, and highly customizable radix UI components (Cards, Avatars, Modals, Tables, Forms).
- React.js & Vite: Lightning-fast development and optimized production builds.
- Tailwind CSS & Shadcn/UI: Utility-first styling with accessible, modern component primitives.
- Redux Toolkit & Context API: Predictable global state management.
- Lucide React: Beautiful, consistent iconography.
- Sonner: Modern, highly customizable toast notifications.
- Node.js & Express.js: Fast, non-blocking RESTful API architecture.
- MongoDB & Mongoose: Flexible NoSQL database with robust schema validation.
- Resend API: Next-generation transactional email sending for OTPs.
- Cloudinary: Secure cloud storage for image assets and resumes.
- Bcrypt.js & JSONWebToken: Secure password hashing and stateless session management.
| Home Page & Latest Jobs | Advanced Search & Filters |
|---|---|
![]() |
![]() |
| Recruiter Dashboard | Applicant Tracking System |
|---|---|
![]() |
![]() |
| profile Management | Job Specifications |
|---|---|
![]() |
![]() |
Follow these instructions to set up the project locally.
Make sure you have Node.js (v18+) and Git installed. You will also need a MongoDB database cluster (like MongoDB Atlas).
git clone https://github.com/Smitbhuva15/JOB-PORTAL.git
cd "JOB PORTAL"Navigate to the backend directory and install dependencies.
cd backend
npm installNavigate to the frontend directory and install dependencies.
cd ../frontend
npm installTo start the application locally in development mode:
Start the Backend Server:
cd backend
npm start
Start the Frontend Development Server:
cd frontend
npm run dev
This project is licensed under the MIT License - see the LICENSE file for details.





