from fastapi import FastAPI from fastapi.middleware.cors import CORSMiddleware import logging import sys from pathlib import Path # Add parent directory to path for imports sys.path.insert(0, str(Path(__file__).parent.parent)) from backend.api.validation import router as validation_router # Configure logging logging.basicConfig( level=logging.INFO, format='%(asctime)s - %(name)s - %(levelname)s - %(message)s' ) app = FastAPI( title="YouTube Summarizer API", description="AI-powered YouTube video summarization service", version="1.0.0" ) # Configure CORS app.add_middleware( CORSMiddleware, allow_origins=["http://localhost:3000", "http://localhost:3001"], allow_credentials=True, allow_methods=["*"], allow_headers=["*"], ) # Include routers app.include_router(validation_router) @app.get("/") async def root(): return {"message": "YouTube Summarizer API", "version": "1.0.0"} @app.get("/health") async def health_check(): return {"status": "healthy"} if __name__ == "__main__": import uvicorn uvicorn.run(app, host="0.0.0.0", port=8000)