Problem Statement
Designed a backend system that allows recruiters to manage job listings and applicants to browse and apply — with each role restricted to its own set of endpoints.
A Spring Boot REST API for a job portal with two user roles: Recruiter and Applicant. Built with a layered architecture and Spring Security for authentication. MongoDB handles all data storage through Spring Data repositories.
Architecture
Layered architecture (Controller → Service → Repository). Spring Security manages authentication and role-based endpoint access. Spring Data MongoDB handles persistence for users, job listings, and applications.
Key Features
- User registration with BCrypt password hashing
- Role-based endpoint separation for Recruiter and Applicant
- CRUD APIs for job postings and job applications
- Spring Data MongoDB repositories for all data operations
- Global exception handler with structured error responses
- Input validation on all incoming request payloads
Tech Stack