yasserrmd/CareerCompass
0
1from fastapi import FastAPI, Form, Request2from fastapi.responses import JSONResponse, FileResponse3from fastapi.staticfiles import StaticFiles4from starlette.middleware.sessions import SessionMiddleware5from groq_client import generate_questions, evaluate_answers6import json7import uvicorn8 9app = FastAPI()10 11# Serve static files (HTML, CSS, JS)12app.mount("/static", StaticFiles(directory="static"), name="static")13 14# Add session middleware15app.add_middleware(SessionMiddleware, secret_key="vhjh64@$t4#$%yhgxt45ljo##")16 17 18@app.get("/", response_class=FileResponse)19async def index():20 return FileResponse("static/index.html")21 22 23@app.post("/start", response_class=JSONResponse)24async def start(career: str = Form(...), qualifications: str = Form(...)):25 # Mock question generation26 questions_str = await generate_questions(career, qualifications)27 questions_data = json.loads(questions_str)28 return {"questions": questions_data["questions"]}29 30 31@app.post("/evaluate", response_class=JSONResponse)32async def evaluate(payload: dict):33 # Mock evaluation logic34 career = payload.get("career")35 qualifications = payload.get("qualifications")36 answers = payload.get("answers")37 result = await evaluate_answers(career, qualifications, answers)38 result_data=json.loads(result)39 return {"result": result_data}40 