careerhub-smart-job-portal

๐Ÿš€ CareerHub Smart Job Portal

AI-Powered Enterprise Recruitment Platform Built with Spring Boot

A modern enterprise-level Job Portal that streamlines the recruitment process by connecting Candidates, Recruiters, and Administrators on a secure platform with AI-powered Resume Matching, Resume Parsing, JWT Authentication, and Role-Based Access Control.


๐Ÿ“Œ Project Overview

CareerHub Smart Job Portal is a full-stack enterprise-level recruitment platform developed using Java, Spring Boot, Spring Security, Spring Data JPA, Hibernate, MySQL, HTML, CSS, and JavaScript.

The platform digitalizes and simplifies the complete hiring lifecycle by enabling secure collaboration between Candidates, Recruiters, and Administrators.

Unlike traditional job portals, CareerHub integrates AI-powered Resume Matching and Resume Parsing to intelligently evaluate candidate profiles against job requirements, helping recruiters identify the most suitable applicants quickly and efficiently.

The application follows a Layered MVC Architecture, implements RESTful APIs, and secures every request using JWT-based Authentication with Role-Based Authorization.


โœจ Key Highlights


๐ŸŽฏ Objectives

The primary objective of CareerHub is to build an intelligent recruitment platform capable of:


๐ŸŒŸ Core Features

๐Ÿ‘จโ€๐ŸŽ“ Candidate Module


๐Ÿ‘จโ€๐Ÿ’ผ Recruiter Module


๐Ÿ‘จโ€๐Ÿ’ป Admin Module


๐Ÿค– AI Resume Matching Module


๐Ÿ” Security Features


๐Ÿš€ Major Functional Modules


๐Ÿ’ก Why CareerHub?

CareerHub is designed as a portfolio-quality enterprise application that demonstrates real-world software engineering practices including:

This project serves as a complete showcase of modern Java Full Stack Development skills.


๐Ÿ“ˆ Project Status

Status Description
โœ… Backend Development Completed
โœ… Database Design Completed
โœ… Spring Security Completed
โœ… JWT Authentication Completed
โœ… Resume Upload Completed
โœ… Resume Parsing Completed
โœ… AI Resume Matching Completed
โœ… REST APIs Completed
โœ… Candidate Dashboard Completed
โœ… Recruiter Dashboard Completed
โœ… Admin Dashboard Completed
๐Ÿš€ GitHub Deployment Completed


๐Ÿ› ๏ธ Technology Stack

CareerHub Smart Job Portal is developed using modern Java Full Stack technologies and follows enterprise software development practices.

๐Ÿ’ป Backend

Technology Purpose
Java 17 Core Programming Language
Spring Boot Backend Application Framework
Spring MVC MVC Architecture
Spring Security Authentication & Authorization
Spring Data JPA Database Access Layer
Hibernate ORM Object Relational Mapping
JWT Secure Authentication
Maven Dependency Management & Build Tool

๐ŸŽจ Frontend

Technology Purpose
HTML5 Structure of Web Pages
CSS3 User Interface Design
JavaScript Client-Side Functionality

๐Ÿ—„๏ธ Database

Technology Purpose
MySQL Relational Database Management System

๐Ÿงฐ Development Tools

Tool Purpose
Eclipse IDE Java Development
MySQL Workbench Database Management
Postman REST API Testing
Git Version Control
GitHub Source Code Repository

๐Ÿ—๏ธ System Architecture

CareerHub follows a layered architecture that separates responsibilities into independent layers, making the application scalable, maintainable, and easy to extend.

                    +----------------------+
                    |      Frontend        |
                    | HTML โ€ข CSS โ€ข JS      |
                    +----------+-----------+
                               |
                               |
                    REST API Requests
                               |
                               โ–ผ
                    +----------------------+
                    |   Controller Layer   |
                    +----------+-----------+
                               |
                               โ–ผ
                    +----------------------+
                    |    Service Layer     |
                    +----------+-----------+
                               |
                               โ–ผ
                    +----------------------+
                    | Repository Layer     |
                    | Spring Data JPA      |
                    +----------+-----------+
                               |
                               โ–ผ
                    +----------------------+
                    |       MySQL          |
                    +----------------------+

๐Ÿ“‚ Project Structure

CareerHub-Smart-Job-Portal
โ”‚
โ”œโ”€โ”€ src
โ”‚   โ”œโ”€โ”€ main
โ”‚   โ”‚   โ”œโ”€โ”€ java
โ”‚   โ”‚   โ”‚   โ””โ”€โ”€ com.smartjobportal
โ”‚   โ”‚   โ”‚       โ”œโ”€โ”€ admin
โ”‚   โ”‚   โ”‚       โ”œโ”€โ”€ application
โ”‚   โ”‚   โ”‚       โ”œโ”€โ”€ candidate
โ”‚   โ”‚   โ”‚       โ”œโ”€โ”€ company
โ”‚   โ”‚   โ”‚       โ”œโ”€โ”€ config
โ”‚   โ”‚   โ”‚       โ”œโ”€โ”€ controller
โ”‚   โ”‚   โ”‚       โ”œโ”€โ”€ dto
โ”‚   โ”‚   โ”‚       โ”œโ”€โ”€ entity
โ”‚   โ”‚   โ”‚       โ”œโ”€โ”€ exception
โ”‚   โ”‚   โ”‚       โ”œโ”€โ”€ job
โ”‚   โ”‚   โ”‚       โ”œโ”€โ”€ matching
โ”‚   โ”‚   โ”‚       โ”œโ”€โ”€ recruiter
โ”‚   โ”‚   โ”‚       โ”œโ”€โ”€ repository
โ”‚   โ”‚   โ”‚       โ”œโ”€โ”€ resumeparser
โ”‚   โ”‚   โ”‚       โ”œโ”€โ”€ security
โ”‚   โ”‚   โ”‚       โ”œโ”€โ”€ service
โ”‚   โ”‚   โ”‚       โ””โ”€โ”€ user
โ”‚   โ”‚   โ”‚
โ”‚   โ”‚   โ””โ”€โ”€ resources
โ”‚   โ”‚       โ”œโ”€โ”€ static
โ”‚   โ”‚       โ”‚   โ”œโ”€โ”€ css
โ”‚   โ”‚       โ”‚   โ”œโ”€โ”€ html
โ”‚   โ”‚       โ”‚   โ”œโ”€โ”€ images
โ”‚   โ”‚       โ”‚   โ””โ”€โ”€ js
โ”‚   โ”‚       โ”œโ”€โ”€ templates
โ”‚   โ”‚       โ””โ”€โ”€ application.properties
โ”‚   โ”‚
โ”‚   โ””โ”€โ”€ test
โ”‚
โ”œโ”€โ”€ pom.xml
โ”œโ”€โ”€ mvnw
โ”œโ”€โ”€ mvnw.cmd
โ””โ”€โ”€ README.md

๐Ÿ—„๏ธ Database Overview

The project uses MySQL as the primary relational database.

The database is normalized to efficiently manage users, companies, jobs, applications, resumes, and AI matching results.


๐Ÿ“Š Main Database Tables

Table Description
users Stores authentication and user information
roles Stores application roles
user_roles Maps users with roles
candidate_profiles Candidate personal information
recruiter_profiles Recruiter details
companies Company information
jobs Job postings
job_skills Required job skills
candidate_skills Candidate technical skills
candidate_education Education details
candidate_experience Work experience
resumes Resume metadata
job_applications Candidate applications
ai_match_results AI resume matching scores
job_matches Recommended jobs
recommended_jobs Personalized recommendations
notifications User notifications
saved_jobs Saved job list
admin_logs Administrative activity logs
application_status_history Application status tracking

๐Ÿ”„ Application Workflow

Candidate Registration
          โ”‚
          โ–ผ
Secure Login (JWT)
          โ”‚
          โ–ผ
Complete Candidate Profile
          โ”‚
          โ–ผ
Upload Resume
          โ”‚
          โ–ผ
Resume Parsing
          โ”‚
          โ–ผ
AI Resume Matching
          โ”‚
          โ–ผ
Browse Available Jobs
          โ”‚
          โ–ผ
Apply for Job
          โ”‚
          โ–ผ
Recruiter Reviews Application
          โ”‚
          โ–ผ
Candidate Shortlisting
          โ”‚
          โ–ผ
Hiring Process

๐Ÿ” Authentication Flow

User Login
      โ”‚
      โ–ผ
Authentication Request
      โ”‚
      โ–ผ
Spring Security
      โ”‚
      โ–ผ
JWT Token Generation
      โ”‚
      โ–ผ
Token Returned to Client
      โ”‚
      โ–ผ
Protected API Requests
      โ”‚
      โ–ผ
JWT Validation Filter
      โ”‚
      โ–ผ
Access Granted

๐Ÿ“ˆ AI Resume Matching Workflow

Resume Upload
      โ”‚
      โ–ผ
Resume Parsing
      โ”‚
      โ–ผ
Skill Extraction
      โ”‚
      โ–ผ
Job Skill Comparison
      โ”‚
      โ–ผ
Matching Algorithm
      โ”‚
      โ–ผ
Matching Percentage
      โ”‚
      โ–ผ
Recommended Jobs

๐Ÿ”‘ User Roles

The application provides three independent user roles.

๐Ÿ‘จโ€๐Ÿ’ผ Administrator


๐Ÿ‘จโ€๐Ÿ’ป Recruiter


๐Ÿ‘จโ€๐ŸŽ“ Candidate


๐Ÿ“Œ Design Principles

The application follows industry-standard software engineering principles.


๐Ÿš€ Getting Started

Follow the steps below to set up and run the CareerHub Smart Job Portal on your local machine.


๐Ÿ“‹ Prerequisites

Ensure the following software is installed before running the application.

Software Recommended Version
Java JDK 17 or above
Eclipse IDE 2024-03 or later
Apache Maven 3.9+
MySQL Server 8.0+
MySQL Workbench Latest
Git Latest
Postman Latest

โš™๏ธ Installation

Step 1: Clone the Repository

git clone https://github.com/Surya63023/careerhub-smart-job-portal.git

Step 2: Navigate to the Project Directory

cd careerhub-smart-job-portal

Step 3: Open the Project

Open Eclipse IDE

File
    โ†“
Import
    โ†“
Existing Maven Project

Select the cloned project folder.


Step 4: Update Maven Dependencies

Right Click Project

Maven
    โ†“
Update Project...

Step 5: Create Database

Create a MySQL database.

CREATE DATABASE smart_job_portal_db;

Step 6: Configure Database

Open

src/main/resources/application.properties

Update the database configuration.

spring.datasource.url=jdbc:mysql://localhost:3306/smart_job_portal_db

spring.datasource.username=YOUR_USERNAME

spring.datasource.password=YOUR_PASSWORD

spring.jpa.hibernate.ddl-auto=update

spring.jpa.show-sql=true

Step 7: Run the Application

Run the Spring Boot application.

Right Click Project

Run As

Spring Boot App

If everything is configured correctly, the application starts successfully.


๐ŸŒ Default URLs

Service URL
Application http://localhost:8080
Login Page http://localhost:8080/html/login.html
API Base URL http://localhost:8080/api

๐Ÿ“ก REST API Overview

The application exposes RESTful APIs for all major modules.


๐Ÿ” Authentication APIs

Method Endpoint Description
POST /api/auth/register Register User
POST /api/auth/login User Login

๐Ÿ‘จโ€๐ŸŽ“ Candidate APIs

Method Endpoint
GET /api/candidate/profile
PUT /api/candidate/profile
GET /api/candidate/jobs
POST /api/candidate/apply

๐Ÿ‘จโ€๐Ÿ’ผ Recruiter APIs

Method Endpoint
POST /api/recruiter/jobs
GET /api/recruiter/jobs
PUT /api/recruiter/jobs/{id}
DELETE /api/recruiter/jobs/{id}

๐Ÿ’ผ Job APIs

Method Endpoint
GET /api/jobs
GET /api/jobs/{id}
POST /api/jobs
PUT /api/jobs/{id}
DELETE /api/jobs/{id}

๐Ÿ“„ Resume APIs

Method Endpoint
POST /api/resume/upload
GET /api/resume
DELETE /api/resume/{id}

๐Ÿค– AI Matching APIs

Method Endpoint
POST /api/matching/start
GET /api/matching/results

๐Ÿงช API Testing

The backend APIs were tested using Postman.

The following scenarios have been verified:


๐Ÿ“ File Upload Support

The application supports secure document upload.

Supported files include:

Uploaded resumes are parsed and processed by the AI Resume Matching module.


๐Ÿ”’ Security Features

CareerHub implements multiple security mechanisms.


โšก Performance Highlights


๐Ÿ“ธ Application Screenshots

๐Ÿ” Login Page

The login page provides secure authentication using JWT-based login with role-based access control.

Login Page


๐Ÿ“ Registration Page

New candidates and recruiters can create an account through the registration page with secure validation.

Registration Page


๐Ÿ‘จโ€๐ŸŽ“ Candidate Dashboard

The Candidate Dashboard allows users to:

Candidate Dashboard


๐Ÿ‘จโ€๐Ÿ’ผ Recruiter Dashboard

The Recruiter Dashboard provides recruiters with tools to:

Recruiter Dashboard


๐Ÿ‘จโ€๐Ÿ’ป Admin Dashboard

The Admin Dashboard enables complete system administration.

Features include:

Admin Dashboard


๐Ÿ”ฎ Future Enhancements

The following features are planned for future releases.


๐Ÿค Contributing

Contributions are welcome.

If you would like to improve this project:

  1. Fork the repository.
  2. Create a feature branch.
  3. Commit your changes.
  4. Push the branch.
  5. Open a Pull Request.

๐Ÿ“„ License

This project is licensed under the MIT License.


๐Ÿ‘จโ€๐Ÿ’ป Author

Surya Teja

Aspiring Java Full Stack Developer

Connect with Me

GitHub

https://github.com/Surya63023

Portfolio

https://surya63023.github.io/surya-developer-portfolio/

LinkedIn

www.linkedin.com/in/suryateja-developer


โญ Support

If you found this project helpful,

โญ Star this repository

๐Ÿด Fork the repository

๐Ÿ› ๏ธ Contribute to the project

๐Ÿ“ข Share it with others


๐Ÿ™ Acknowledgements

Special thanks to the Java and Spring Boot community for providing excellent open-source frameworks and documentation that made the development of this project possible.


Happy Coding! ๐Ÿš€


๐Ÿ›๏ธ System Design

CareerHub Smart Job Portal follows a layered enterprise architecture that promotes maintainability, scalability, security, and separation of concerns.

                        Client Browser
                               โ”‚
                               โ”‚
                 HTML โ€ข CSS โ€ข JavaScript
                               โ”‚
                               โ–ผ
                    Spring MVC Controllers
                               โ”‚
                               โ–ผ
                       Service Layer
                               โ”‚
                               โ–ผ
                   Spring Data JPA Layer
                               โ”‚
                               โ–ผ
                         Hibernate ORM
                               โ”‚
                               โ–ผ
                           MySQL Database

๐Ÿงฉ Software Design Principles

The project has been designed by following modern software engineering principles.


๐Ÿ“ Project Modules

The project consists of multiple independent business modules.

๐Ÿ” Authentication Module

Responsible for


๐Ÿ‘ค User Management Module

Responsible for


๐Ÿ‘จโ€๐ŸŽ“ Candidate Module

Responsible for


๐Ÿ‘จโ€๐Ÿ’ผ Recruiter Module

Responsible for


๐Ÿข Company Module

Responsible for


๐Ÿ’ผ Job Module

Responsible for


๐Ÿ“„ Resume Module

Responsible for


๐Ÿค– AI Resume Matching Module

Responsible for


๐Ÿ‘จโ€๐Ÿ’ป Admin Module

Responsible for


๐Ÿ”„ Request Lifecycle

Client Request
      โ”‚
      โ–ผ
Spring Security Filter
      โ”‚
      โ–ผ
JWT Authentication
      โ”‚
      โ–ผ
Controller
      โ”‚
      โ–ผ
Service
      โ”‚
      โ–ผ
Repository
      โ”‚
      โ–ผ
Database
      โ”‚
      โ–ผ
Service
      โ”‚
      โ–ผ
Controller
      โ”‚
      โ–ผ
JSON Response

๐Ÿ”‘ Authentication Workflow

User Login
      โ”‚
      โ–ผ
Validate Credentials
      โ”‚
      โ–ผ
Generate JWT Token
      โ”‚
      โ–ผ
Return JWT Token
      โ”‚
      โ–ผ
Client Stores Token
      โ”‚
      โ–ผ
Token Sent with Every Request
      โ”‚
      โ–ผ
Spring Security Validates Token
      โ”‚
      โ–ผ
Protected Resource Access

๐Ÿ“Š Project Statistics

Category Details
Project Type Enterprise Web Application
Architecture Layered MVC Architecture
Backend Framework Spring Boot
Security Spring Security + JWT
Database MySQL
ORM Hibernate
Build Tool Maven
API Style RESTful APIs
Authentication JWT
Authorization Role-Based Access Control
IDE Eclipse
Version Control Git & GitHub

๐Ÿ“ˆ Project Highlights


๐Ÿงช Testing Strategy

The application has been tested using multiple approaches.

Backend Testing


Database Testing


Security Testing


๐Ÿ“š Learning Outcomes

This project helped in understanding:


๐Ÿš€ Deployment

Current Deployment Status

Environment Status
Local Development โœ… Available
GitHub Repository โœ… Available
Docker ๐Ÿ”„ Planned
AWS Cloud ๐Ÿ”„ Planned
CI/CD Pipeline ๐Ÿ”„ Planned

๐Ÿ“ Changelog

Version 1.0.0

Initial Release

Added


๐Ÿ›ฃ๏ธ Roadmap

Phase 1

Phase 2

Phase 3

Phase 4

Phase 5


๐Ÿ“ฌ Feedback

Feedback, suggestions, and improvements are always welcome.

If you have ideas to improve this project, feel free to create an issue or submit a pull request.


โญ If you like this project

Please consider supporting it by

โญ Starring the repository

๐Ÿด Forking the repository

๐Ÿ“ข Sharing it with other developers

๐Ÿค Contributing to future improvements


Made with โค๏ธ using Java, Spring Boot, and Modern Software Engineering Practices.

โญ If you found this project interesting, consider giving it a Star on GitHub!