from fastapi import FastAPI from fastapi.middleware.cors import CORSMiddleware from app.api.endpoints import users, auth, messages, health, websocket from app.core.config import settings app = FastAPI( title=settings.PROJECT_NAME, description="Chat Application Backend API", version="0.1.0", openapi_url=f"{settings.API_V1_STR}/openapi.json", docs_url="/docs", redoc_url="/redoc", ) # Set up CORS app.add_middleware( CORSMiddleware, allow_origins=settings.CORS_ORIGINS, allow_credentials=True, allow_methods=["*"], allow_headers=["*"], ) # Include routers app.include_router(health.router) app.include_router(auth.router, prefix=settings.API_V1_STR) app.include_router(users.router, prefix=settings.API_V1_STR) app.include_router(messages.router, prefix=settings.API_V1_STR) app.include_router(websocket.router, prefix=settings.API_V1_STR) if __name__ == "__main__": import uvicorn uvicorn.run("main:app", host="0.0.0.0", port=8000, reload=True)