Skip to main content

ФитТех: тренировки, питание, рецепты.

Project description

FitTech

FitTech – Репозиторий фитнес-приложения

FitTech — это полный стек на базе FastAPI для трекинга фитнес-данных, управления тренировками, планирования питания, напоминаний и многого другого. Проект предоставляет надёжный backend-API и простой web-интерфейс на Jinja2/Bootstrap.


Возможности

  • Аутентификация пользователей: регистрация, вход (+ выход по JWT).
  • Управление тренировками: CRUD для тренировок и связанных упражнений.
  • База упражнений: добавление, редактирование, удаление упражнений.
  • Управление рецептами: хранение рецептов с ингредиентами и калориями.
  • Планирование питания: создание и управление планами приёма пищи.
  • Напоминания: настраиваемые напоминания (Celery + Redis).
  • Интеграция с календарём: просмотр событий и напоминаний. В следующих обновлениях ожидается добавление следующих функций:
  • Чек-ины в залах: трекинг визитов в зал.
  • Геопоиск: поиск ближайших залов (GeoAlchemy2 + Geopy).
  • Интеграция с ИИ: чат-бот-тренер на базе OpenAI.
  • Web-интерфейс: базовый фронтенд на Jinja2 + Bootstrap.

Установка для пользователя

1. Установка пакета

pip install fit-tech

2. Создание .env

В корне проекта (или папке с кодом) создайте .env-файл:

cat > .env <<EOF
DATABASE_URL=postgresql+asyncpg://user:pass@localhost:5432/fittech_db
SECRET_KEY=ваш_секрет
ALGORITHM=HS256
ACCESS_TOKEN_EXPIRE_MINUTES=60
CELERY_BROKER_URL=redis://localhost:6379/0
CELERY_RESULT_BACKEND=redis://localhost:6379/0
# TELEGRAM_BOT_TOKEN=...
# OPENAI_API_KEY=...
EOF

3. Запуск приложения

uvicorn fit_tech.main:app --reload --host 0.0.0.0 --port 8000

Локальная разработка

Следуйте этим шагам, чтобы склонировать репозиторий, поднять окружение и установить все зависимости.

1. Клонирование репозитория

git clone https://github.com/your-org/fit-tech.git
cd fit-tech

2. Локальная разработка без Docker

2.1 Виртуальное окружение

python3 -m venv venv
source venv/bin/activate

2.2 Установка зависимостей

  • Runtime-зависимости (для запуска пакета):

    pip install --upgrade pip
    pip install .
    
  • Dev-зависимости (тесты, линтеры, Alembic и т. д.):

    pip install -e ".[dev]"
    

2.3 Переменные окружения

Отредактируйте .env: #DATABASE_URL, SECRET_KEY, CELERY_BROKER_URL, CELERY_RESULT_BACKEND и т. д.

2.4 Миграции базы данных

alembic upgrade head

Если миграции ещё не инициализированы:

alembic init alembic
alembic revision --autogenerate -m "Initial migration"
alembic upgrade head

2.5 Запуск приложения

# Терминал 1: FastAPI-сервер
uvicorn fit_tech.main:app --reload

# Терминал 2: Celery-worker
celery -A fit_tech.workers.celery_app worker --loglevel=info

3. Работа через Docker и Docker Compose

Если вы хотите поднять всё окружение в контейнерах (PostgreSQL, Redis, веб-сервис, Celery):

  1. Скопируйте шаблон переменных окружения Создайте .env и укажите реальные настройки (пароли, токены и т. д.). В docker-compose.yml переменные из .env будут подхвачены автоматически.

  2. Соберите и запустите контейнеры

    docker-compose up --build
    
  3. Примените миграции

    docker-compose exec web alembic upgrade head
    
  4. Остановка и удаление контейнеров

    docker-compose down
    

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fit_tech-0.1.0.tar.gz (39.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

fit_tech-0.1.0-py3-none-any.whl (63.4 kB view details)

Uploaded Python 3

File details

Details for the file fit_tech-0.1.0.tar.gz.

File metadata

  • Download URL: fit_tech-0.1.0.tar.gz
  • Upload date:
  • Size: 39.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.3

File hashes

Hashes for fit_tech-0.1.0.tar.gz
Algorithm Hash digest
SHA256 785d746f8bf39f4a2845fb1ba74c4071a93e7087ddf3469bafa04d723a582c62
MD5 7d3ad5520e671dbb34d3d87d59115876
BLAKE2b-256 e4c73c0cd9e27bffcef94bd487839c02af530465a365e980f8632440674d00b9

See more details on using hashes here.

File details

Details for the file fit_tech-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: fit_tech-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 63.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.3

File hashes

Hashes for fit_tech-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e1b7c57b444ec868bf25d4662071ec9c5d23a48ef4588320a685ea60ddd9e2f3
MD5 69211f480daec954c44f597bfe5130b9
BLAKE2b-256 8f5f521a6d96d78f4a27c032a2682ba4474db021d5a7a93432775f351e8e79e3

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page