import uvicorn from fastapi import FastAPI from fastapi.staticfiles import StaticFiles from client.routers import client_router from client.config import settings from fastapi.middleware.cors import CORSMiddleware def create_app() -> FastAPI: """Create and configure the FastAPI application.""" app = FastAPI( title="Client Service", description="PPAI HACKATHON", version="1.0.0", ) app.add_middleware( CORSMiddleware, allow_origins=["*"], # Allows all origins allow_credentials=True, allow_methods=["*"], # Allows all methods allow_headers=["*"], # Allows all headers ) app.include_router(router=client_router) app.mount("/static", StaticFiles(directory="client/static"), name="static") return app def main() -> None: """Main function to set up logging and run the server.""" app: FastAPI = create_app() uvicorn.run(app=app, host="0.0.0.0", port=settings.SERVICE_PORT) # type: ignore if __name__ == "__main__": main()