fitness-web/app/main.py

30 lines
854 B
Python

from pathlib import Path
from fastapi import FastAPI
from fastapi.staticfiles import StaticFiles
from contextlib import asynccontextmanager
from app.config import DATA_DIR
from app.routers import auth, dashboard, workouts, exercises, checkins, profile, chat
from scripts.schema import init_db
@asynccontextmanager
async def lifespan(app: FastAPI):
DATA_DIR.mkdir(parents=True, exist_ok=True)
await init_db()
yield
app = FastAPI(title="Fitness Web", lifespan=lifespan)
static_dir = Path(__file__).parent / "static"
app.mount("/static", StaticFiles(directory=str(static_dir)), name="static")
app.include_router(auth.router)
app.include_router(dashboard.router)
app.include_router(workouts.router)
app.include_router(exercises.router)
app.include_router(checkins.router)
app.include_router(profile.router)
app.include_router(chat.router)