This is a Full Stack Job Portal built using MongoDB, Express.js, React, and Node.js. It allows users to search and apply for jobs, while admins can post jobs and manage applicants.
job-portal/
├── client/ # User-facing frontend (React + Vite)
├── admin/ # Admin dashboard frontend
├── server/ # Express backend
├── uploads/ # Uploaded company logos, resumes, etc.
└── README.md
Follow the steps below to set up the project locally.
git clone https://github.com/yourusername/job-portal.git
cd job-portal✅ .env for server/
DATABASE_URI='mongodb://127.0.0.1:27017/'
DATABASE_NAME="jobs-portal"
PORTNUMBER=8000
CLERK_WEBHOOK_KEY=""
MONGO_ATLAS="YOUR_MONGO_ATLAS_URL"
SECRET_KEY="YOUR_SECRET_KEY_FOR_JWT"
📧 Mailing Credentials
MAILING_HOST="YOUR_MAIL_HOST"
NODEMAILING_EMAIL="YOUR_EMAIL@example.com"
NODEMAILING_PASSWORD="YOUR_EMAIL_PASSWORD"
🔍 Sentry (Optional Monitoring)
SENTRY_DSN="YOUR_SENTRY_URL"
✅ .env for client/
VITE_CLERK_PUBLISHABLE_KEY="YOUR_CLERK_KEY"
VITE_WEBSITE_API_BASE_URL="http://localhost:8000"
✅ .env for admin/
VITE_ADMIN_PATH="http://localhost:8000/admin/"
VITE_WEBSITE_PATH="http://localhost:8000/website/"
VITE_STATIC_PATH="http://localhost:8000/"
- Start the Backend
cd server
npm install
npm run dev OR nodemon index.js
- Start the Client (User Side)
cd admin
npm install
npm run dev
- Start the Admin Panel
cd admin
npm install
npm run dev
🔐 JWT Authentication with Clerk Integration
📄 Job Listings & Applications
👨💼 Admin Dashboard to Manage Jobs & Users
📤 Resume Uploads
📧 Email Notifications (via Nodemailer)
🎯 Action Tracking (Applied, Shortlisted, etc.)
Feel free to fork the repo and submit a pull request with improvements or bug fixes!
This project is licensed under the MIT License.
Syed Sohail