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.
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.
The primary objective of CareerHub is to build an intelligent recruitment platform capable of:
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.
| 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 |
CareerHub Smart Job Portal is developed using modern Java Full Stack technologies and follows enterprise software development practices.
| 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 |
| Technology | Purpose |
|---|---|
| HTML5 | Structure of Web Pages |
| CSS3 | User Interface Design |
| JavaScript | Client-Side Functionality |
| Technology | Purpose |
|---|---|
| MySQL | Relational Database Management System |
| Tool | Purpose |
|---|---|
| Eclipse IDE | Java Development |
| MySQL Workbench | Database Management |
| Postman | REST API Testing |
| Git | Version Control |
| GitHub | Source Code Repository |
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 |
+----------------------+
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
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.
| 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 |
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
User Login
โ
โผ
Authentication Request
โ
โผ
Spring Security
โ
โผ
JWT Token Generation
โ
โผ
Token Returned to Client
โ
โผ
Protected API Requests
โ
โผ
JWT Validation Filter
โ
โผ
Access Granted
Resume Upload
โ
โผ
Resume Parsing
โ
โผ
Skill Extraction
โ
โผ
Job Skill Comparison
โ
โผ
Matching Algorithm
โ
โผ
Matching Percentage
โ
โผ
Recommended Jobs
The application provides three independent user roles.
The application follows industry-standard software engineering principles.
Follow the steps below to set up and run the CareerHub Smart Job Portal on your local machine.
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 |
git clone https://github.com/Surya63023/careerhub-smart-job-portal.git
cd careerhub-smart-job-portal
Open Eclipse IDE
File
โ
Import
โ
Existing Maven Project
Select the cloned project folder.
Right Click Project
Maven
โ
Update Project...
Create a MySQL database.
CREATE DATABASE smart_job_portal_db;
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
Run the Spring Boot application.
Right Click Project
Run As
Spring Boot App
If everything is configured correctly, the application starts successfully.
| Service | URL |
|---|---|
| Application | http://localhost:8080 |
| Login Page | http://localhost:8080/html/login.html |
| API Base URL | http://localhost:8080/api |
The application exposes RESTful APIs for all major modules.
| Method | Endpoint | Description |
|---|---|---|
| POST | /api/auth/register | Register User |
| POST | /api/auth/login | User Login |
| Method | Endpoint |
|---|---|
| GET | /api/candidate/profile |
| PUT | /api/candidate/profile |
| GET | /api/candidate/jobs |
| POST | /api/candidate/apply |
| Method | Endpoint |
|---|---|
| POST | /api/recruiter/jobs |
| GET | /api/recruiter/jobs |
| PUT | /api/recruiter/jobs/{id} |
| DELETE | /api/recruiter/jobs/{id} |
| Method | Endpoint |
|---|---|
| GET | /api/jobs |
| GET | /api/jobs/{id} |
| POST | /api/jobs |
| PUT | /api/jobs/{id} |
| DELETE | /api/jobs/{id} |
| Method | Endpoint |
|---|---|
| POST | /api/resume/upload |
| GET | /api/resume |
| DELETE | /api/resume/{id} |
| Method | Endpoint |
|---|---|
| POST | /api/matching/start |
| GET | /api/matching/results |
The backend APIs were tested using Postman.
The following scenarios have been verified:
The application supports secure document upload.
Supported files include:
Uploaded resumes are parsed and processed by the AI Resume Matching module.
CareerHub implements multiple security mechanisms.
The login page provides secure authentication using JWT-based login with role-based access control.

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

The Candidate Dashboard allows users to:

The Recruiter Dashboard provides recruiters with tools to:

The Admin Dashboard enables complete system administration.
Features include:

The following features are planned for future releases.
Contributions are welcome.
If you would like to improve this project:
This project is licensed under the MIT License.
Aspiring Java Full Stack Developer
GitHub
https://github.com/Surya63023
Portfolio
https://surya63023.github.io/surya-developer-portfolio/
www.linkedin.com/in/suryateja-developer
If you found this project helpful,
โญ Star this repository
๐ด Fork the repository
๐ ๏ธ Contribute to the project
๐ข Share it with others
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.
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
The project has been designed by following modern software engineering principles.
The project consists of multiple independent business modules.
Responsible for
Responsible for
Responsible for
Responsible for
Responsible for
Responsible for
Responsible for
Responsible for
Responsible for
Client Request
โ
โผ
Spring Security Filter
โ
โผ
JWT Authentication
โ
โผ
Controller
โ
โผ
Service
โ
โผ
Repository
โ
โผ
Database
โ
โผ
Service
โ
โผ
Controller
โ
โผ
JSON Response
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
| 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 |
The application has been tested using multiple approaches.
This project helped in understanding:
Current Deployment Status
| Environment | Status |
|---|---|
| Local Development | โ Available |
| GitHub Repository | โ Available |
| Docker | ๐ Planned |
| AWS Cloud | ๐ Planned |
| CI/CD Pipeline | ๐ Planned |
Initial Release
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.
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!