<!
DOCTYPE html>
<html>
<head>
<title>Resume Analyzer</title>
<link rel="stylesheet" href="{{ url_for('static', filename='[Link]') }}">
</head>
<body>
<div class="container">
<h1> Resume Analyzer</h1>
<form method="POST" enctype="multipart/form-data">
<input type="file" name="resume" required>
<textarea name="job_desc" placeholder="Paste Job Description here..."
required></textarea>
<button type="submit">Analyze</button>
</form>
{% if result %}
<div class="result">
<h2> Match Score: {{ [Link] }}%</h2>
<h3> Resume Skills</h3>
<ul>
{% for s in result.resume_skills %}
<li>{{ s }}</li>
{% endfor %}
</ul>
<h3> Job Skills</h3> <ul>
{% for s in result.job_skills %}
<li>{{ s }}</li>
{% endfor %}
</ul>
<h3> Missing Skills</h3> <ul>
{% for s in result.missing_skills %}
<li>{{ s }}</li>
{% endfor %}
</ul>
</div>
{% endif %}
</div>
</body>
</html>
Skills_db.txt
python java machine learning
deep learning sql data
analysis pandas numpy
flask django javascript
react html css nlp
tensorflow
pytorch
temp_job.txt
we are hiring a python developer with skills in machine learning, sql, data analysis, flask, and
deep learning.
[Link]
def analyze(resume_path, job_path, skills_path):
resume = read_file(resume_path) job =
read_file(job_path) skills_db =
load_skills(skills_path) resume_skills =
extract_skills(resume, skills_db) job_skills
= extract_skills(job, skills_db)
common = [s for s in resume_skills if s in job_skills] missing = [s for
s in job_skills if s not in resume_skills]
# Better score if len(job_skills) == 0:
score = 0 else:
score = (len(common) / len(job_skills)) * 100
return {
"score": round(score, 2),
"resume_skills": resume_skills,
"job_skills": job_skills,
"missing_skills": missing,
"matched_skills": common
}
[Link]
suggestions = [] for skill in
result["missing_skills"]:
[Link](f"Add '{skill}' to your resume")
return render_template("[Link]", result=result, suggestions=suggestions)
[Link]
def read_file(path): with
open(path, "r") as f: return
[Link]().lower()
def load_skills(path): with
open(path, "r") as f:
return [[Link]().lower() for line in f]