32 lines
986 B
Python
32 lines
986 B
Python
from fastapi import FastAPI
|
|
from fastapi.middleware.cors import CORSMiddleware
|
|
from fastapi.staticfiles import StaticFiles
|
|
|
|
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
|
|
app.mount("/frontend", StaticFiles(directory="frontend"), name="frontend")
|
|
|