Dev1012's picture
adding ats suggestion code(basic)
b4b6f00
from fastapi import FastAPI, UploadFile, File, Form
from fastapi.middleware.cors import CORSMiddleware
from ats_core import extract_pdf_text, ats_score
from role_templates import ROLE_TEMPLATES
from ai_suggestions import generate_suggestions
app = FastAPI()
app.add_middleware(CORSMiddleware, allow_origins=["*"], allow_methods=["*"], allow_headers=["*"],)
@app.get("/health")
def health():
return {"status": "ok"}
# @app.post("/ats-score")
# async def score( resume: UploadFile = File(...), role: str = Form(...), job_description: str = Form("") ):
# pdf_bytes = await resume.read()
# resume_text = extract_pdf_text(pdf_bytes)
# role = role.lower().strip()
# jd = job_description if job_description.strip() else ROLE_TEMPLATES.get(role, "")
# if not jd:
# return {"error": "Invalid role"}
# return ats_score(resume_text, jd, role)
@app.post("/ats-score")
async def score(
resume: UploadFile = File(...),
role: str = Form(...),
job_description: str = Form("")
):
pdf_bytes = await resume.read()
resume_text = extract_pdf_text(pdf_bytes)
role = role.lower().strip()
jd = job_description if job_description.strip() else ROLE_TEMPLATES.get(role, "")
if not jd:
return {"error": "Invalid role"}
ats_result = ats_score(resume_text, jd, role)
ai_text = generate_suggestions(resume_text, jd, ats_result)
ats_result["ai_suggestions"] = ai_text
return ats_result