Files
gym-bro/backend/main.py
T

50 lines
1.3 KiB
Python

#!/usr/bin/env python3
from fastapi import FastAPI
from fastapi.middleware.cors import CORSMiddleware
from database import engine, Base
import routers.clients
import routers.workout_types
import routers.workouts
import routers.exercises
import routers.metrics
import routers.sync
# Создаём таблицы
Base.metadata.create_all(bind=engine)
app = FastAPI(
title="Gym Bro API",
description="API для трекера тренировок с офлайн-синхронизацией",
version="1.0.0"
)
# CORS для локальной разработки
app.add_middleware(
CORSMiddleware,
allow_origins=["*"], # В продакшене заменить на конкретные домены
allow_credentials=True,
allow_methods=["*"],
allow_headers=["*"],
)
# Подключаем роутеры
app.include_router(routers.clients.router)
app.include_router(routers.workout_types.router)
app.include_router(routers.workouts.router)
app.include_router(routers.exercises.router)
app.include_router(routers.metrics.router)
app.include_router(routers.sync.router)
@app.get("/")
def root():
return {
"message": "Gym Tracker API",
"docs": "/docs",
"version": "1.0.0"
}
@app.get("/health")
def health_check():
return {"status": "ok"}