BACK TO PROJECTS
BACKEND · REST API

Recruitment System

A RESTful Spring Boot backend for end-to-end recruitment workflows. Features JWT authentication, role-based access, resume parsing via third-party API, and clean layered architecture.

Java Spring Boot Spring Security JWT MySQL JPA/Hibernate Maven

What Is This Project?

The Recruitment Management System is a RESTful backend application built using Spring Boot. It provides a complete recruitment workflow where Applicants can manage profiles, upload resumes, and apply for jobs, while Admins can create job postings and manage applicants.

The project follows clean architecture principles using DTOs, mappers, layered services, and role-based security. Resume parsing is handled via a third-party APILayer Resume Parser API.

All APIs are secured using JWT-based authentication with role-based authorization — ADMIN and APPLICANT roles have separate access levels.

JWT Authentication

Role-based signup and login with JWT token — ADMIN and APPLICANT access levels.

Resume Parsing

PDF/DOCX resume upload with third-party APILayer integration to extract structured data.

Job Management

Admins create job postings, applicants view and apply — with application tracking per job.

Clean Architecture

Controller → Service → Repository with DTO mappers and Jakarta Bean Validation.

Endpoints

Authentication APIs
PUBLIC
  • POST /signup — Create user profile with role
  • POST /login — Authenticate user & return JWT
AUTH
Applicant APIs
ROLE: APPLICANT
  • GET /jobs — View all job openings
  • GET /jobs/apply?jobId={id} — Apply to a job
  • POST /uploadResume — Upload resume (PDF / DOCX)
APPLICANT
Admin APIs
ROLE: ADMIN
  • POST /admin/job — Create a job opening
  • GET /admin/job/{jobId} — View job details & applicants
  • GET /admin/applicants — View all applicants
  • GET /admin/applicant/{id} — View applicant profile & resume data
ADMIN