A full-stack Job Portal built with React, Node.js, and MongoDB, designed to streamline job applications and company recruitment workflows.
This project showcases practical implementation of authentication, role-based access, API integration, and modern UI — built as part of my full-stack development practice.
This web app allows:
- Job Seekers to register, browse jobs, and apply directly.
- Recruiters to post openings, view applicants, and manage hiring statuses.
It’s a realistic simulation of a modern job platform, built with scalable architecture and clean design principles.
- Secure registration & login (Clerk authentication)
- Explore jobs with search and filters
- Apply to jobs directly from dashboard
- Track application status (Pending / Accepted / Rejected)
- Create and manage job postings
- Review applications per job
- Accept or reject applicants instantly
- Update company details and logos
- Image & resume upload via Cloudinary
- Token-based route protection
- Responsive design using Tailwind CSS
- Toast notifications for actions and errors
Frontend: React.js, Tailwind CSS, Axios
Backend: Node.js, Express.js
Database: MongoDB, Mongoose
Authentication: Clerk
File Uploads: Multer, Cloudinary
Notifications: React-Toastify
git clone https://github.com/yourusername/job-portal.git
cd job-portal
cd server
npm install
cd ../client
npm install
PORT=5000
MONGO_URI=your_mongodb_uri
CLOUDINARY_NAME=your_cloud_name
CLOUDINARY_API_KEY=your_api_key
CLOUDINARY_SECRET_KEY=your_secret
CLERK_SECRET_KEY=your_clerk_secret_key
JWT_SECRET=your_jwt_secret
VITE_CLERK_PUBLISHABLE_KEY=your_clerk_publishable_key
VITE_BACKEND_URL=http://localhost:5000
cd server
npm run dev
cd ../client
npm run dev
Open your browser and go to http://localhost:5173
This project was developed as part of my career practice in full-stack web development, focusing on:
- Building scalable APIs
- Handling authentication and authorization
- Managing complex frontend state
- Integrating third-party services like Cloudinary and Clerk
Personal use and learning project.
Not intended for production or public contribution.
Developed by Meet Patel
Frontend Developer | MERN Stack Practitioner