An intelligent system for matching job descriptions with candidate CVs/resumes using advanced text analysis and machine learning algorithms.
- Parse and analyze CVs in PDF and DOCX formats
- Extract key information from job descriptions
- Smart matching algorithm using ML/AI
- REST API for integration
- Scoring and ranking system
- Python 3.12+
- Docker (optional)
- Project Plan - Development roadmap and milestones
- CI/CD Strategy - Continuous Deployment strategy
- CI/CD - Continuous Integration and Deployment setup
- Tests Description - Overview of the testing methodology and framework
- Test Cases - Detailed test cases and scenarios
- Clone the repository:
git clone https://github.com/bigbag/cv_matcher.git
cd cv_matcher
- Set up a virtual environment and install dependencies:
make venv/create
make venv/install/all
- Set up environment variables:
cp env.example .local_env
# Edit .local_env with your configuration
- Run the application:
make run/server
The API will be available at http://localhost:8000
To analyze a resume against a job description, use the following command:
make analyze RESUME_PATH=/path/to/resume.pdf JOB_DESC_PATH=/path/to/job.pdf
This command will:
- Parse and analyze the provided resume
- Extract requirements from the job description
- Generate a matching score and detailed analysis
- Build the image:
make docker/build/server
- Run the container:
make docker/run/server
Once the application is running, visit:
- Swagger UI:
http://localhost:8000/docs
- Format code:
make format
- Run linters:
make lint
- Run tests:
make test
- Clean up temporary files and caches:
make clean
This project is licensed under the MIT License - see the LICENSE file for details.
For support, please open an issue in the GitHub repository or contact the maintainers.