import os from fastapi import FastAPI from pydantic import BaseModel from src.core.config import settings from src.services.user_router import router as user_router from src.services.cv_router import router as cv_router from src.services.interview_history_router import router as interview_history_router from src.services.feedback_router import router as feedback_router app = FastAPI( title="Data Access API", description="API for accessing data from MongoDB and PostgreSQL.", version="1.0.0", docs_url="/docs", redoc_url="/redoc" ) app.include_router(user_router, prefix="/api/v1", tags=["Users"]) app.include_router(cv_router, prefix="/api/v1", tags=["CVs"]) app.include_router(interview_history_router, prefix="/api/v1", tags=["Interview Histories"]) app.include_router(feedback_router, prefix="/api/v1", tags=["Feedbacks"]) class HealthCheck(BaseModel): status: str = "ok" @app.get("/", response_model=HealthCheck, tags=["Status"]) async def health_check(): return HealthCheck() if __name__ == "__main__": import uvicorn port = int(os.getenv("PORT", 8003)) # Use PORT environment variable, default to 8003 uvicorn.run(app, host="0.0.0.0", port=port)