from fastapi import FastAPI from fastapi.middleware.cors import CORSMiddleware from app.api import routes import os from dotenv import load_dotenv from contextlib import asynccontextmanager from app.database import init_db load_dotenv() @asynccontextmanager async def lifespan(app: FastAPI): # Initialize DB on startup await init_db() yield app = FastAPI(title="Stock Analysis API", lifespan=lifespan) # Configure CORS origins = [ "http://localhost:3000", "http://127.0.0.1:3000", ] app.add_middleware( CORSMiddleware, allow_origins=["*"], # For development convenience allow_credentials=True, allow_methods=["*"], allow_headers=["*"], ) app.include_router(routes.router, prefix="/api") @app.get("/") def read_root(): return {"status": "ok", "message": "Stock Analysis API is running"}