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.
- 🔐 Secure JWT Authentication & Authorization
- 👥 Role-Based Access Control (Admin, Recruiter, Candidate)
- 🤖 AI Resume Matching Engine
- 📄 Automated Resume Parsing
- 💼 Job Posting & Job Management
- 📑 Job Application Management
- 🏢 Company Management
- 👨💼 Recruiter Dashboard
- 👨🎓 Candidate Dashboard
- 👨💻 Admin Dashboard
- 📂 Resume Upload & File Management
- 🔍 Advanced Job Search
- 📊 Candidate Profile Management
- 📈 Matching Score Calculation
- ⚡ RESTful APIs
- 🛡 Spring Security Integration
- 🗄 MySQL Database Integration
- 🎨 Responsive User Interface
The primary objective of CareerHub is to build an intelligent recruitment platform capable of:
- Connecting candidates with recruiters efficiently.
- Automating resume screening.
- Reducing manual recruitment effort.
- Improving hiring accuracy using AI-based resume matching.
- Providing secure authentication and authorization.
- Managing complete recruitment workflows through a centralized system.
- Candidate Registration
- Secure Login
- JWT Authentication
- Profile Management
- Resume Upload
- Resume Update
- Education Management
- Experience Management
- Skills Management
- Search Jobs
- Apply Jobs
- View Applied Jobs
- Resume Matching Results
- Dashboard Analytics
- Recruiter Registration
- Secure Login
- Company Management
- Recruiter Dashboard
- Create Jobs
- Update Jobs
- Delete Jobs
- View Applications
- Review Candidate Profiles
- View AI Matching Scores
- Shortlist Candidates
- Admin Authentication
- Dashboard
- User Management
- Candidate Management
- Recruiter Management
- Company Management
- Job Monitoring
- Resume Monitoring
- Audit Logs
- System Administration
- Resume Parsing
- Skill Extraction
- Job Skill Comparison
- Matching Percentage Calculation
- Recommendation Engine
- Candidate Ranking
- Spring Security
- JWT Authentication
- Role-Based Authorization
- Password Encryption
- Protected REST APIs
- Authentication Filter
- Access Validation
- Secure File Upload
- Authentication Module
- User Management Module
- Candidate Profile Module
- Recruiter Module
- Company Module
- Job Management Module
- Resume Upload Module
- Resume Parsing Module
- AI Resume Matching Module
- Job Application Module
- Search & Filtering Module
- Dashboard Module
- Notification Module
- Validation Module
- Exception Handling Module
CareerHub is designed as a portfolio-quality enterprise application that demonstrates real-world software engineering practices including:
- Layered Architecture
- MVC Design Pattern
- REST API Development
- Secure Authentication
- Database Design
- Object Relational Mapping (ORM)
- File Handling
- AI-Based Matching Logic
- Clean Code Principles
- Scalable Backend Development
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.
- Manage all users
- Monitor recruiters
- Manage companies
- Manage jobs
- View system logs
- Monitor applications
- Create job postings
- Update job postings
- Delete jobs
- Review applications
- View candidate profiles
- Shortlist candidates
- Register account
- Manage profile
- Upload resume
- Search jobs
- Apply for jobs
- View application history
- View AI matching results
The application follows industry-standard software engineering principles.
- Layered Architecture
- MVC Design Pattern
- Separation of Concerns
- Dependency Injection
- RESTful API Design
- Repository Pattern
- DTO Pattern
- Exception Handling
- Validation
- Secure Authentication
- Role-Based Authorization
- Clean Code Practices
- Modular Development
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.gitcd careerhub-smart-job-portalOpen 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=trueRun 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:
- User Registration
- User Login
- JWT Authentication
- Candidate CRUD
- Recruiter CRUD
- Company CRUD
- Job CRUD
- Resume Upload
- Resume Parsing
- AI Resume Matching
- Job Application
- Search & Filtering
- Exception Handling
The application supports secure document upload.
Supported files include:
- DOC
- DOCX
Uploaded resumes are parsed and processed by the AI Resume Matching module.
CareerHub implements multiple security mechanisms.
- JWT Authentication
- Spring Security
- Password Encryption
- Role-Based Access Control
- Protected REST APIs
- Authentication Filters
- Secure File Upload
- Input Validation
- Global Exception Handling
- Layered Architecture
- Optimized Database Queries
- JPA Repository Pattern
- Modular Services
- Clean Code Structure
- Reusable Components
- Exception Handling
- DTO Mapping
- Validation
- Secure Authentication
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:
- Complete profile
- Upload resume
- Search jobs
- View recommended jobs
- Track applications
The Recruiter Dashboard provides recruiters with tools to:
- Post jobs
- Manage job listings
- Review candidates
- View applications
- Shortlist applicants
The Admin Dashboard enables complete system administration.
Features include:
- User Management
- Recruiter Management
- Company Management
- Job Monitoring
- Dashboard Analytics
- System Logs
The following features are planned for future releases.
- Email Notifications
- Interview Scheduling
- Video Interview Integration
- Company Reviews
- Candidate Resume Builder
- AI Interview Assistant
- AI Chatbot
- Resume Recommendation Engine
- Advanced Analytics Dashboard
- Docker Deployment
- AWS Cloud Deployment
- CI/CD Pipeline
- Elasticsearch Integration
- Redis Caching
- Microservices Migration
Contributions are welcome.
If you would like to improve this project:
- Fork the repository.
- Create a feature branch.
- Commit your changes.
- Push the branch.
- Open a Pull Request.
This project is licensed under the MIT License.
Aspiring Java Full Stack Developer
GitHub
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.
- SOLID Principles
- DRY (Don't Repeat Yourself)
- Separation of Concerns
- Layered Architecture
- Repository Pattern
- DTO Pattern
- Dependency Injection
- Object-Oriented Programming
- RESTful API Design
- Clean Code Practices
The project consists of multiple independent business modules.
Responsible for
- User Registration
- User Login
- JWT Token Generation
- Authentication
- Authorization
- Password Encryption
Responsible for
- User Profile
- Roles
- Account Management
Responsible for
- Candidate Profile
- Skills
- Education
- Experience
- Resume Upload
- Job Search
- Job Applications
Responsible for
- Recruiter Profile
- Company Profile
- Job Posting
- Job Management
- Candidate Review
Responsible for
- Company Information
- Recruiter Mapping
- Company Management
Responsible for
- Job Creation
- Job Update
- Job Deletion
- Job Search
- Job Filtering
- Job Recommendations
Responsible for
- Resume Upload
- Resume Storage
- Resume Parsing
- Resume Management
Responsible for
- Resume Parsing
- Skill Extraction
- Skill Matching
- Match Score Calculation
- Candidate Ranking
Responsible for
- User Monitoring
- Company Monitoring
- Recruiter Monitoring
- Job Monitoring
- Audit Logs
- System Administration
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 |
- Enterprise-Level Architecture
- Secure Authentication
- JWT-Based Authorization
- AI Resume Matching
- Resume Parsing
- Role-Based Access Control
- REST API Development
- Clean Layered Architecture
- Responsive User Interface
- Production-Oriented Code Structure
The application has been tested using multiple approaches.
- REST API Testing
- CRUD Operations
- Authentication Testing
- Authorization Testing
- Exception Handling
- Validation Testing
- Entity Relationships
- Foreign Keys
- CRUD Operations
- Transaction Validation
- JWT Authentication
- Unauthorized Access
- Role-Based Authorization
- Protected APIs
This project helped in understanding:
- Enterprise Application Development
- Spring Boot Ecosystem
- Spring Security
- JWT Authentication
- Hibernate ORM
- REST API Development
- Database Design
- Clean Architecture
- Git & GitHub Workflow
- Software Engineering Best Practices
Current Deployment Status
| Environment | Status |
|---|---|
| Local Development | ✅ Available |
| GitHub Repository | ✅ Available |
| Docker | 🔄 Planned |
| AWS Cloud | 🔄 Planned |
| CI/CD Pipeline | 🔄 Planned |
Initial Release
- User Authentication
- JWT Security
- Candidate Module
- Recruiter Module
- Company Module
- Resume Upload
- Resume Parsing
- AI Resume Matching
- Job Management
- Job Application
- REST APIs
- Responsive Frontend
- Authentication Module
- User Management
- Security
- Candidate Dashboard
- Recruiter Dashboard
- Admin Dashboard
- Resume Parsing
- AI Resume Matching
- Search
- Filtering
- Pagination
- Sorting
- Testing
- Deployment
- Documentation
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!




