A modern job portal application built with the MERN stack (MongoDB, Express, React, Node.js) where recruiters/companies can post jobs and applicants can search/apply for opportunities. Features dedicated dashboards for both recruiters and applicants.
Recruiters/Companies:
- Create and manage job postings
- View applications for posted jobs
- Dashboard with analytics and job management
- Company profile customization
Applicants:
- Search/filter job listings
- Apply to jobs with resume/CV
- Track application statuses
- Applicant profile management
General:
- Authentication with Clerk
- Error monitoring with Sentry
- File uploads via Cloudinary
- Responsive UI with Tailwind CSS
- RESTful API with JWT authentication
Frontend:
- React (Vite)
- Tailwind CSS
- React Router
- Axios
- Chart.js (for dashboards)
Backend:
- Express.js
- Mongoose (MongoDB ODM)
- JSON Web Tokens (JWT)
- Bcrypt (password hashing)
- CORS
- Svix (webhooks)
Third-Party Services:
- Clerk (Authentication)
- Sentry (Error Tracking)
- Cloudinary (File Storage)
- Node.js (v18+)
- MongoDB Atlas account
- Clerk, Sentry, and Cloudinary accounts
-
Clone the repository
git clone https://github.com/yourusername/prodigy-job-portal.git cd prodigy-job-portal
-
Client
-
cd client
-
npm install
-
Server
* cd ../server
* npm install
- Environment Setup
Create .env files in both client/ and server/ directories:
-
Server (.env):
MONGODB_URI=your_mongodb_uri CLERK_SECRET_KEY=your_clerk_secret_key JWT_SECRET=your_jwt_secret CLOUDINARY_CLOUD_NAME=your_cloud_name CLOUDINARY_API_KEY=your_api_key CLOUDINARY_API_SECRET=your_api_secret SENTRY_DSN=your_sentry_dsn CLERK_WEBHOOK_SECRET=your_svix_webhook_secret PORT=5000
-
Client (.env):
VITE_CLERK_PUBLISHABLE_KEY=your_clerk_pub_key VITE_API_BASE_URL=http://localhost:5000/api
-
cd server
-
npm run dev
-
cd client
-
npm run dev
Contributions are welcome! Please follow these steps:
Fork the repository
-
Create your feature branch (git checkout -b feature/AmazingFeature)
-
Commit your changes (git commit -m 'Add some AmazingFeature')
-
Push to the branch (git push origin feature/AmazingFeature)
-
Open a Pull Request.
📄 License This project is licensed for personal, non-commercial use only. Commercial use, including but not limited to incorporating this code into proprietary software or services, is strictly prohibited without prior written consent. Any unauthorized commercial use may result in legal action. Note: Use of this software is prohibited by individuals or entities located in India. © 2025 Mazher. All rights reserved.