from fastapi import FastAPI, Form, Request from fastapi.responses import JSONResponse, FileResponse from fastapi.staticfiles import StaticFiles from starlette.middleware.sessions import SessionMiddleware from groq_client import generate_questions, evaluate_answers import json import uvicorn app = FastAPI() # Serve static files (HTML, CSS, JS) app.mount("/static", StaticFiles(directory="static"), name="static") # Add session middleware app.add_middleware(SessionMiddleware, secret_key="vhjh64@$t4#$%yhgxt45ljo##") @app.get("/", response_class=FileResponse) async def index(): return FileResponse("static/index.html") @app.post("/start", response_class=JSONResponse) async def start(career: str = Form(...), qualifications: str = Form(...)): # Mock question generation questions_str = await generate_questions(career, qualifications) questions_data = json.loads(questions_str) return {"questions": questions_data["questions"]} @app.post("/evaluate", response_class=JSONResponse) async def evaluate(payload: dict): # Mock evaluation logic career = payload.get("career") qualifications = payload.get("qualifications") answers = payload.get("answers") result = await evaluate_answers(career, qualifications, answers) result_data=json.loads(result) return {"result": result_data}