from fastapi import FastAPI from fastapi.middleware.cors import CORSMiddleware import uvicorn import logging from routes import routes from db.database import init_db from app.models.card import Card # Assuming you have a Card model logging.basicConfig( level=logging.INFO, format="%(asctime)s - %(levelname)s - %(message)s", handlers=[logging.StreamHandler(), logging.FileHandler("app.log")],) logger = logging.getLogger(__name__) app = FastAPI( title="CCR Cards Management API", description="API for managing CCR Cards Inventory, Orders, and more.", version="0.1.0", ) app.add_middleware( CORSMiddleware, allow_origins=["*"], allow_credentials=True, allow_methods=["*"], allow_headers=["*"], ) app.include_router(routes.router) @app.on_event("startup") async def on_startup(): init_db() logger.info("Database initialized successfully") @app.on_event("shutdown") async def on_shutdown(): logger.info("Database connection closed") if __name__ == "__main__": uvicorn.run(app, host="0.0.0.0", port=8000, reload=True)