A modern job portal platform connecting students with recruiters. Built with React, Node.js, Express.js, and MongoDB.
Job Linker is a comprehensive full-stack job portal application that enables students to browse and apply for jobs while allowing recruiters to post job openings and manage applications. The platform features secure authentication, real-time application tracking, and an intuitive user interface.
- π Browse and search jobs by title, description, or location
- π View detailed job descriptions with company information
- π Apply to jobs with one-click application
- π Track application status (pending, accepted, rejected)
- π€ Manage profile with bio, skills, resume, and profile photo
- π’ Create and manage company profiles
- π Post job openings with detailed descriptions
- π₯ View and manage job applicants
- β Accept or reject applications
- π Dashboard with job statistics
- React 18 - UI library
- Vite 5 - Build tool
- React Router DOM 6 - Routing
- Tailwind CSS 3 - Styling
- Redux Toolkit - State management
- Axios - HTTP client
- Framer Motion - Animations
- Node.js - Runtime environment
- Express.js - Web framework
- MongoDB - Database
- Mongoose - ODM
- JWT - Authentication
- bcryptjs - Password hashing
- Cloudinary - Image storage
- Multer - File uploads
Before you begin, ensure you have the following installed:
- Node.js (v16 or higher)
- npm or yarn
- MongoDB (local or MongoDB Atlas account)
- Git
git clone https://github.com/RajviDhameliya/JobLinker.git
cd Job_Linkercd backend
npm installCreate a .env file in the backend directory:
PORT=3000
MONGO_URI=your_mongodb_connection_string
SECRET_KEY=your_jwt_secret_key
CLOUDINARY_CLOUD_NAME=your_cloudinary_cloud_name
CLOUDINARY_API_KEY=your_cloudinary_api_key
CLOUDINARY_API_SECRET=your_cloudinary_api_secret
FRONTEND_URL=http://localhost:5173Start the backend server:
npm run devThe server will run on http://localhost:3000
cd frontend
npm installStart the development server:
npm run devThe frontend will run on http://localhost:5173
Job_Linker/
βββ backend/
β βββ controllers/ # Business logic
β β βββ user.controller.js
β β βββ job.controller.js
β β βββ company.controller.js
β β βββ application.controller.js
β βββ models/ # Mongoose schemas
β β βββ user.model.js
β β βββ job.model.js
β β βββ company.model.js
β β βββ application.model.js
β βββ routes/ # Express routes
β β βββ user.route.js
β β βββ job.route.js
β β βββ company.route.js
β β βββ application.route.js
β βββ middlewares/ # Custom middleware
β β βββ isAuthenticated.js
β β βββ mutler.js
β βββ utils/ # Utility functions
β β βββ db.js
β β βββ datauri.js
β β βββ cloudinary.js
β βββ index.js # Server entry point
β βββ package.json
β
βββ frontend/
β βββ src/
β β βββ components/ # React components
β β β βββ admin/ # Admin components
β β β βββ auth/ # Auth components
β β β βββ shared/ # Shared components
β β β βββ ui/ # UI components
β β βββ hooks/ # Custom hooks
β β βββ redux/ # Redux store
β β βββ utils/ # Utilities
β β βββ App.jsx # Main app component
β β βββ main.jsx # Entry point
β βββ public/
β βββ package.json
β βββ vite.config.js
β
βββ README.md
POST /api/v1/user/register- Register new userPOST /api/v1/user/login- User loginGET /api/v1/user/logout- User logoutPOST /api/v1/user/profile/update- Update user profile
POST /api/v1/job/post- Create new job (Recruiter only)GET /api/v1/job/get- Get all jobsGET /api/v1/job/get/:id- Get job by IDGET /api/v1/job/getadminjobs- Get recruiter's jobs
POST /api/v1/company/register- Create companyGET /api/v1/company/get- Get all companiesGET /api/v1/company/get/:id- Get company by IDPUT /api/v1/company/update/:id- Update company
GET /api/v1/application/apply/:id- Apply for a jobGET /api/v1/application/get- Get user's applied jobsGET /api/v1/application/:id/applicants- Get applicants for a jobPOST /api/v1/application/status/:id/update- Update application status
Import the Postman collection to test all API endpoints. Ensure you:
- Set up environment variables in Postman
- Login first to get authentication token
- Use the token in subsequent requests
- User registration and login
- Job creation and retrieval
- Company management
- Application submission and status updates
-- https://job-linker-lovat.vercel.app
-- https://joblinker-hb4r.onrender.com
Built with β€οΈ by Rajvi Dhameliya