Files

32 lines
729 B
Python

from contextlib import asynccontextmanager
from pathlib import Path
from fastapi import FastAPI
from fastapi_vue import Frontend
# Vue Frontend static files
frontend = Frontend(Path(__file__).with_name("frontend-build"), cached=["/assets/"])
@asynccontextmanager
async def lifespan(app: FastAPI):
"""Manage app startup and shutdown resources."""
await frontend.load()
yield
app = FastAPI(title="PROJECT_TITLE", lifespan=lifespan)
# Add API routes here...
# Health check endpoint for the Vue demo app to verify the backend is running
@app.get("/api/health")
async def health_check():
return {"status": "ok"}
# Serve the Vue frontend (needs to be last if SPA catch-all is used)
frontend.route(app, "/")