File size: 840 Bytes
7a88b43
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
"""Main FastAPI app instance declaration."""
import fastapi
import structlog
import uvicorn

from app.core.config import settings
from .core.middlewares import add_middlewares
from app.router import api_router

# Set up structlog for logging
logger = structlog.get_logger()


fastapi_app = fastapi.FastAPI(
    title=settings.PROJECT_NAME,
    version=settings.VERSION,
    description=settings.DESCRIPTION,
    openapi_url=settings.OPENAPI_URL,
    docs_url=settings.DOCS_URL,
)
fastapi_app.include_router(api_router)
add_middlewares(fastapi_app)
# Log the app startup
logger.info(
    "Application started", project=settings.PROJECT_NAME, version=settings.VERSION
)

if __name__ == "__main__":
    uvicorn.run(
        "main:fastapi_app",
        host=settings.UVICORN_HOST,
        port=settings.UVICORN_PORT,
        reload=True,
    )