Skip to content

An intelligent tool that uses NLP to match resumes with job descriptions, helping job seekers find their ideal positions and optimize their applications.

License

Notifications You must be signed in to change notification settings

johnny603/JobFit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

57 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

# 💼 JobFit: AI-Powered Job Matching Platform

**JobFit** is an AI-powered application that helps job seekers find the most suitable job opportunities based on their skills, experience, and preferences. It analyzes resumes, matches them with job descriptions, and offers personalized improvement suggestions.

---

## 🚀 Features

  • **Smart Job Matching**: Compares resumes with job listings and suggests the best matches.
  • **Resume Analysis**: Extracts key data like skills, education, and work experience.
  • **Keyword Optimization**: Highlights missing keywords and provides improvement suggestions.
  • **Real-Time Feedback**: Offers tips for enhancing resume content and formatting.
  • **Automated Job Recommendations**: Suggests job listings tailored to the user's profile.
  • **Multi-Language Support**: Detects and translates resumes for accurate analysis.
  • **Recruiter Dashboard**: Enables employers to manage job postings and view matched candidates.

---

## 🛠️ Tech Stack

  • **Java 11+**: Core development language.
  • **Spring Boot**: Web services and API infrastructure.
  • **Apache POI**: Extracts content from .docx files.
  • **PdfBox**: Extracts content from .pdf files.
  • **OpenNLP**: Used for Natural Language Processing.
  • **DetectLanguage API**: Identifies document language.
  • **Google Cloud Translate**: Translates non-English resumes for analysis.

---

## 📦 Installation

### Prerequisites

  • Java 11 or above
  • Maven (for dependency management)

### Steps

  1. **Clone the repository**:

git clone https://github.com/your-username/jobfit.git

  1. **Navigate to the project directory**:

cd jobfit

  1. **Install dependencies**:

mvn install

  1. **Build the application**:

mvn clean package

  1. **Run the application**:

java -jar target/jobfit-0.1.0-SNAPSHOT.jar

---

## 🧑‍💻 Usage

### Start the Application

mvn spring-boot:run

The application will be available at http://localhost:8081.

### Prepare Your Files

  • Save your resume as resume.txt.
  • Save the job description as job.txt.
  • Sample files provided:
  • sample\_resume.txt
  • sample\_job.txt

### Make an API Request (via cURL)

curl -X POST http://localhost:8081/api/analyze \

  • F "resume=@sample_resume.txt" \
  • F "jobDescription=@sample_job.txt"

### Sample JSON Response

{

"matchScore": 85.5,

"skillsMatch": ["Java", "Spring Boot", "REST APIs"],

"missingKeywords": ["Docker", "Kubernetes"],

"suggestions": [

"Add experience with containerization tools",

"Include more details about your project management experience"

]

}

---

## 🌐 API Endpoints

### POST /api/analyze

  • Purpose: Analyzes the match between a resume and a job description.
  • Parameters:
  • resume: Path to the resume file.
  • jobDescription: Path to the job description file.

### GET /api/recommendations

  • Purpose: Returns job recommendations based on the match score.
  • Parameters:
  • matchScore: Threshold score value.

---

## 🤝 Contributing

We welcome your contributions! Follow these steps to contribute:

  1. Fork the repository.

  2. Choose an issue

  3. Create a new branch:

git checkout -b feature-name

  1. Make your changes and commit:

git commit -am "Add new feature"

  1. Push your branch:

git push origin feature-name

  1. Open a pull request.

---

## 📄 License

This project is licensed under the **Apache 2.0 License**. See the LICENSE file for more information.

---

### 🚀 Get Started Today and Find Your Perfect Job Fit!

About

An intelligent tool that uses NLP to match resumes with job descriptions, helping job seekers find their ideal positions and optimize their applications.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages