File size: 1,110 Bytes
a31fd7f | 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 36 37 38 | import uvicorn
from fastapi import FastAPI
from fastapi.middleware.cors import CORSMiddleware
from config import settings
from api.damage import router as damage_router
from api.shelters import router as shelters_router
# Initialize FastAPI application
app = FastAPI(
title=settings.PROJECT_NAME,
version=settings.VERSION,
description="Backend API for progressive damage assessment mapping and shelter distribution in Guarenas-Guatire."
)
# Enable CORS for frontend PWA integration
app.add_middleware(
CORSMiddleware,
allow_origins=settings.ALLOWED_ORIGINS,
allow_credentials=True,
allow_methods=["*"],
allow_headers=["*"],
)
# Include sub-routers (Controller layer)
app.include_router(damage_router, prefix="/api/v1/damage", tags=["damage"])
app.include_router(shelters_router, prefix="/api/v1/shelters", tags=["shelters"])
@app.get("/")
def read_root():
return {
"status": "healthy",
"app": settings.PROJECT_NAME,
"version": settings.VERSION
}
if __name__ == "__main__":
uvicorn.run("main:app", host="0.0.0.0", port=8000, reload=True)
|