Platform: Recruiters can post job listings. Job Seekers can browse and apply. Unique Feature: Once a candidate applies, the platform analyzes the resume against the job description and assigns a match percentage, helping indicate how well-suited the candidate is for the position.
This project is a Spring Boot-powered resume parsing platform that connects Recruiters and Job Seekers. Recruiters can post jobs, and job seekers can view and apply. The system’s standout feature: when a candidate applies, the platform computes a match percentage reflecting how closely the resume aligns with the job description.
- Recruiter Interface: Secure authentication, job posting, and job management.
- Job Seeker Dashboard: Account setup, job browsing, resume upload, and application tracking.
- Match Analysis: Intelligent comparison between resume content and job description to derive a candidate–job match score.
- AWS S3 Integration: Secure resume uploads and storage.
- OAuth Support: Login via Google or GitHub, powered by Spring Security.
- Error Handling: Custom messaging and pages for various HTTP error codes (403, 404, 500).
- Email Services: Notifications for account actions like password resets and application updates.
- Java & Spring Boot (core framework)
- Spring Security with OAuth integration (Google, GitHub)
- AWS S3 for file uploads (via
AWSS3Config) - Thymeleaf, HTML, CSS, JS for front-end templates and pages
- DTOs / Entities / Repositories / Services for clean architecture
- Custom Validation: e.g., future-date checks
- Email: FreeMarker (
.ftltemplates) based mailing service
- Java JDK 11+
- Maven
- Docker (optional, for containerization)
- AWS S3 account (with credentials)
- OAuth credentials (Google, GitHub)
-
Clone the repo
git clone https://github.com/karnamshyam1947/springboot‑resume‑parser.git cd springboot‑resume‑parser -
Copy and configure environment variables
cp .env.example .env # Update AWS S3 credentials, OAuth keys, email config, etc. -
Build and run the application
./mvnw spring-boot:run
-
Or build a Docker container
docker build -t resume-parser-app . docker run -p 8080:8080 resume-parser-app -
Visit
http://localhost:8080in your browser.
-
For Recruiters:
- Register/log in
- Post new jobs
- View and manage your job listings and applications
-
For Job Seekers:
- Sign up/log in
- Browse posted jobs
- Upload your resume and apply
- See your match percentage displayed after applying
This project’s key innovation—a match percentage—is calculated by comparing resume content with job description data. Though your implementation may vary, a typical approach might involve:
- Extracting keywords and skills from both resume and job description
- Comparing them via methods like cosine similarity or weighted keyword matching
- Producing a percentage score showing how well the candidate aligns with the role
This helps both recruiters and job seekers:
- Recruiters: Focus on higher‑match candidates
- Job Seekers: Understand how well your resume aligns and where to improve
- Profiles:
application-dev.properties,application-prod.properties,application.properties - AWS: Configured in
aws.properties, handled viaAWSS3Config.java - OAuth: Managed in
SecurityConfig.javaand related OAuth files - Email templates:
.ftlfiles undersrc/main/resources/templates/email/