import os import uvicorn from fastapi import FastAPI from app.api.api import api_router from app.core.config import settings # Initialize database at startup from app.db.init_db import init_db init_db() app = FastAPI( title=settings.PROJECT_NAME, openapi_url=f"{settings.API_V1_STR}/openapi.json", description="A simple generic REST API service", version="0.1.0", ) app.include_router(api_router, prefix=settings.API_V1_STR) # Add startup event to ensure proper initialization @app.on_event("startup") async def startup_event(): # Any additional initialization can go here print("Application startup complete") if __name__ == "__main__": # Get port from environment variable or default to 8000 port = int(os.environ.get("PORT", 8000)) uvicorn.run("main:app", host="0.0.0.0", port=port, reload=True)