""" FastAPI main application for queueing network simulation. """ from fastapi import FastAPI from fastapi.middleware.cors import CORSMiddleware from .api import simulation, scenarios, analytics app = FastAPI( title="Queueing Network Simulation API", description="Distributed database simulation using queueing theory with analytical validation", version="1.0.0", docs_url="/docs", redoc_url="/redoc" ) # Configure CORS app.add_middleware( CORSMiddleware, allow_origins=["http://localhost:5173", "http://localhost:3000"], # React dev servers allow_credentials=True, allow_methods=["*"], allow_headers=["*"], ) # Include routers app.include_router(simulation.router) app.include_router(scenarios.router) app.include_router(analytics.router) @app.get("/") async def root(): """Root endpoint - API health check.""" return { "message": "Queueing Network Simulation API", "status": "running", "version": "1.0.0", "docs": "/docs", "endpoints": { "simulation": "/api/simulation", "scenarios": "/api/scenarios", "analytics": "/api/analytics" } } @app.get("/health") async def health_check(): """Health check endpoint.""" return {"status": "healthy"} if __name__ == "__main__": import uvicorn uvicorn.run(app, host="0.0.0.0", port=8000, reload=True)