from fastapi import FastAPI from fastapi.middleware.cors import CORSMiddleware from fastapi.staticfiles import StaticFiles from . import models, database from .routers import providers, clients, visits 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 app.mount("/frontend", StaticFiles(directory="frontend"), name="frontend")