A complete backend system for a Job Recruitment Platform connecting Jobseekers and Employers — featuring secure authentication, role-based access, resume uploads, and application management.
🚀 Deployed API Base URL:
Base URL: https://job-recruitment-platform-backend.onrender.com/
You can test endpoints using Postman or the provided API Workflow document.
This backend API simulates a real-world hiring process — Employers can post jobs, and Jobseekers can search, apply, and manage applications.
It includes complete authentication, job posting, application workflows, and database validations, all powered by Node.js + Express + MongoDB Atlas.
- Register & Login (Jobseeker / Employer)
- JWT-based token authentication
- Passwords securely hashed with bcrypt
- Create, update, delete jobs
- View applicants for each job
- Update candidate application status (
applied,reviewed,accepted,rejected)
- Search jobs by title, company, skills, or location
- Apply for jobs with resume uploads (via Multer + Cloudinary)
- Track applications and withdraw them anytime
- Helmet, XSS-Clean, Mongo-sanitize
- Rate limiting enabled
- Role-based access control (RBAC)
- Error handling and validation for all endpoints
| Layer | Technology |
|---|---|
| Runtime | Node.js |
| Framework | Express.js |
| Database | MongoDB Atlas |
| Authentication | JWT (JSON Web Token) |
| File Uploads | Multer + Cloudinary |
| Security | Helmet, XSS-Clean, Rate-Limiter |
| Testing | Postman |
| Deployment | Render / Railway |
Job-recruitment-Platform-Backend/
│
├── config/ # Database & Cloudinary configs
├── controllers/ # Business logic for routes
├── middlewares/ # Auth, Multer, Role checks
├── models/ # Mongoose schemas
├── routes/ # API endpoints
├── .env.example # Environment template
├── server.js # Entry point
├── API_WORKFLOW.txt # Step-by-step testing guide
├── RecruitmentPlatform_PostmanCollection.json # Ready Postman collection
└── README.md # Project documentation
git clone https://github.com/your-username/Job-recruitment-Platform-Backend.git
cd Job-recruitment-Platform-Backendnpm installCreate a .env file:
MONGO_URI=your-mongodb-atlas-uri
JWT_SECRET=your-jwt-secret
CLOUDINARY_CLOUD_NAME=your-cloud-name
CLOUDINARY_API_KEY=your-api-key
CLOUDINARY_API_SECRET=your-api-secret
PORT=5000npm start✅ Server runs on http://localhost:5000
Once deployed (Render/Railway/Heroku), the API can be accessed publicly via:
https://your-app.onrender.com/api| Method | Endpoint | Description |
|---|---|---|
| POST | /api/users/register |
Register Jobseeker/Employer |
| POST | /api/users/login |
Login and get token |
| Method | Endpoint | Description |
|---|---|---|
| POST | /api/jobs |
Create a new job |
| GET | /api/jobs |
Get all jobs with filters |
| GET | /api/jobs/:id |
Get single job |
| PATCH | /api/jobs/:id |
Update job |
| DELETE | /api/jobs/:id |
Delete job |
| Method | Endpoint | Description |
|---|---|---|
| POST | /api/applications/:jobId |
Apply for a job |
| GET | /api/applications/me |
Get my applications |
| DELETE | /api/applications/:applicationId |
Withdraw an application |
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/applications/job/:jobId |
View all applicants |
| PATCH | /api/applications/:applicationId |
Update applicant status |
The project is fully tested with Postman.
You can directly import the included Postman collection:
📁 RecruitmentPlatform_PostmanCollection.json
and follow the workflow defined in
📄 API_WORKFLOW.txt
- Register both Employer and Jobseeker
- Login → copy tokens
- Employer → create job
- Jobseeker → search & apply with resume
- Jobseeker → view “My Applications”
- Employer → view applicants & update status
- Jobseeker → withdraw if needed
| Action | Role | Access |
|---|---|---|
| Register/Login | Both | ✅ |
| Create/Update/Delete Job | Employer | ✅ |
| Apply/View Applications | Jobseeker | ✅ |
| Manage Applications | Employer | ✅ |
| Without Token | Any | ❌ Unauthorized |
_id,name,email,password (hashed),role
_id,title,description,skills[],industry,employer,createdAt
_id,job,applicant,coverLetter,resumeUrl,status,timestamps
- 🔐 JWT-based authentication
- 🧹 Data sanitization against NoSQL Injection
- 🧱 Helmet for secure HTTP headers
- 🚫 Rate-limiting protection
- 💾 Cloudinary file security (auto deletion on withdraw)
- MongoDB Atlas → cloud database
- Cloudinary → resume uploads
- Multer → middleware for file handling
- JWT → authentication tokens
- Postman → testing & workflow validation
📧 Email: [ mohammedhussainshaik76@gmail.com ]
🔗 GitHub
This backend system is part of a full-stack project demonstrating professional-grade backend architecture, integration with cloud services, and scalable REST API design.
💡 Built with passion, tested with precision, deployed for performance. 🚀