FA3-Datafetch/backend/app/main.py
2026-01-03 18:27:19 +08:00

38 lines
837 B
Python

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"}