This project is a full-stack application that allows users to upload a resume and a job description, and receive a match score along with suggestions for improvement. The frontend is built with React, while the backend is implemented using Flask. The application performs cosine similarity analysis, tokenization, and custom NLP to provide the match score and suggestions.
ResumeMatcherLocalNLP/
├── backend/
│ ├── app.py
│ ├── requirements.txt
└── frontend/
├── public/
│ └── index.html
├── src/
│ ├── App.css
│ ├── App.js
│ ├── index.js
└── package.json
- Python 3.x
- Node.js
- npm (Node Package Manager)
git clone https://github.com/twittt/ResumeMatcherLocalNLP.git
cd ResumeMatcherLocalNLPcd backendpython -m venv venv- Windows:
venv\Scripts\activate
- macOS/Linux:
source venv/bin/activate
pip install -r requirements.txtpython app.pyThe Flask app will be running on http://localhost:5000.
cd ../frontendnpm installnpm startThe React app will be running on http://localhost:3000.
- Open your browser and navigate to
http://localhost:3000. - Upload a resume file (
.pdf,.doc, or.docx). - Paste the job description text.
- Click on the "Match" button to get the match score and suggestions for improvement.
- Use the "Reset" button to clear all uploads and text areas.
If you would like to contribute to this project, please follow these steps:
- Fork the repository.
- Create a new branch:
git checkout -b feature-branch - Make your changes and commit them:
git commit -m 'Add new feature' - Push to the branch:
git push origin feature-branch - Submit a pull request.
This project is licensed under the MIT License. See the LICENSE file for details.