Skip to content

Varad163/AI-Resume-Analyzer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 

Repository files navigation

Resume Analyzer AI

An AI-powered Resume Analyzer built using Spring Boot, MySQL, Gemini AI, JWT Authentication, Google OAuth, and Brevo Email Services. The application analyzes resumes, provides ATS optimization suggestions, recommends relevant jobs, and offers secure user authentication.


Features

Authentication & Security

  • User Registration & Login
  • JWT-based Authentication
  • Google OAuth Login
  • Email OTP Verification
  • Password Reset via OTP
  • Spring Security Integration

Resume Analysis

  • Upload Resume (PDF)
  • Extract Resume Content using Apache Tika
  • Analyze Resume with Gemini AI
  • ATS Score Generation
  • Resume Strengths & Weaknesses Detection
  • Improvement Suggestions

Job Recommendations

  • Personalized Job Suggestions
  • Adzuna Job Search API Integration
  • Company & Location Based Recommendations

Email Services

  • OTP Verification Emails
  • Password Reset Emails
  • Brevo Email API Integration
  • Thymeleaf Email Templates

Database Management

  • User Management
  • Resume Analysis History
  • OTP Verification Tracking
  • MySQL Database Storage

Tech Stack

Backend

  • Java 21
  • Spring Boot 3.5
  • Spring Security
  • Spring Data JPA
  • Hibernate
  • JWT Authentication
  • OAuth2 Client

Database

  • MySQL

AI & APIs

  • Google Gemini AI
  • Adzuna Jobs API
  • Brevo Email API

Additional Tools

  • Apache Tika
  • Thymeleaf
  • Lombok
  • Maven

Project Structure

src/main/java/com/ai/Resume/analyser
│
├── configuration
├── controller
├── jwt
├── mail
├── model
├── repository
├── service
└── BackendApplication.java

Environment Variables

Create an application.properties file:

spring.datasource.url=jdbc:mysql://localhost:3306/resume_iq
spring.datasource.username=YOUR_DB_USERNAME
spring.datasource.password=YOUR_DB_PASSWORD

apiKey=YOUR_BREVO_API_KEY
genKey=YOUR_GEMINI_API_KEY

application-id=YOUR_ADZUNA_APP_ID
application-api-key=YOUR_ADZUNA_API_KEY

spring.security.oauth2.client.registration.google.client-id=YOUR_GOOGLE_CLIENT_ID
spring.security.oauth2.client.registration.google.client-secret=YOUR_GOOGLE_CLIENT_SECRET

jwt-key=YOUR_SECRET_JWT_KEY

Installation

Clone Repository

git clone https://github.com/yourusername/resume-analyzer.git
cd resume-analyzer

Create Database

CREATE DATABASE resume_iq;

Install Dependencies

mvn clean install

Run Application

mvn spring-boot:run

Application runs at:

http://localhost:8080

API Flow

User
 │
 ├── Authentication
 │      ├── Register
 │      ├── Login
 │      ├── JWT Generation
 │      └── Google OAuth
 │
 ├── Upload Resume
 │
 ├── Apache Tika
 │      └── Extract Text
 │
 ├── Gemini AI
 │      └── Analyze Resume
 │
 ├── Generate ATS Score
 │
 └── Recommend Jobs
         └── Adzuna API

Future Enhancements

  • Resume Comparison
  • Cover Letter Generation
  • Interview Question Generation
  • Multi-Language Resume Analysis
  • Resume Builder
  • Admin Dashboard
  • Analytics Dashboard

Author

Varad Gholap


License

This project is licensed under the MIT License.

About

AI-powered resume evaluation platform that analyzes resumes for ATS compatibility, identifies strengths and weaknesses, provides improvement suggestions, and helps job seekers optimize their resumes for better interview opportunities.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors