# backend/app/main.py from contextlib import asynccontextmanager from fastapi import FastAPI from fastapi.middleware.cors import CORSMiddleware from .database import Base, engine from .routes import auth, tournaments, websocket, courts @asynccontextmanager async def lifespan(app: FastAPI): Base.metadata.create_all(bind=engine) yield app = FastAPI(title="Tournament Bracket API", lifespan=lifespan, root_path="/api") app.include_router(tournaments.router) app.include_router(courts.router) app.include_router(auth.router) app.include_router(websocket.router) app.add_middleware( CORSMiddleware, allow_origins=["*"], allow_methods=["*"], allow_headers=["*"], ) if __name__ == "__main__": import uvicorn uvicorn.run("app.main:app", host="0.0.0.0", port=8000, reload=True)