Files
Fitness/main.py
T
2026-10-15 04:42:30 -07:00

37 lines
1.2 KiB
Python

from fastapi import FastAPI
from fastapi.middleware.cors import CORSMiddleware
from fastapi.staticfiles import StaticFiles
from fastapi.responses import RedirectResponse
import models, database
from routers import providers, clients, visits, services
app = FastAPI(title="Fitness Tracker API")
# Allow CORS for frontend dev
app.add_middleware(
CORSMiddleware,
allow_origins=["*"],
allow_credentials=True,
allow_methods=["*"],
allow_headers=["*"],
)
# Include routers
app.include_router(providers.router, prefix="/providers", tags=["providers"])
app.include_router(clients.router, prefix="/clients", tags=["clients"])
app.include_router(visits.router, prefix="/visits", tags=["visits"])
app.include_router(services.router, prefix="/services", tags=["services"])
# Create tables on startup
@app.on_event("startup")
async def startup():
database.Base.metadata.create_all(bind=database.engine)
# Mount frontend static files at /frontend
app.mount("/frontend", StaticFiles(directory="frontend"), name="frontend")
# Simple redirect from root to /frontend for convenience
@app.get("/")
def root():
return RedirectResponse(url="/frontend/")