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-зависимости (тесты, линтеры и т. д.):

    pip install -e ".[dev]"
    

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

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

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

# Терминал 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 --env-file .env -f infra/compose/docker-compose.yml up --build
    
  3. Остановка и удаление контейнеров

    docker compose -f infra/compose/docker-compose.yml 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.2.2.tar.gz (24.4 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.2.2-py3-none-any.whl (39.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: fit_tech-0.2.2.tar.gz
  • Upload date:
  • Size: 24.4 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.2.2.tar.gz
Algorithm Hash digest
SHA256 8e9a6382fdc3dbd31cf8c61befc64c7a6e72018d0ab18cc8bd6bf84459ec4c49
MD5 bf9983c96f8a3d755f1750a0f3cd732d
BLAKE2b-256 47e2d0827a9c74b8717c650b56211feb85bcac9f35c76e2ee27a1ced1d330f01

See more details on using hashes here.

File details

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

File metadata

  • Download URL: fit_tech-0.2.2-py3-none-any.whl
  • Upload date:
  • Size: 39.6 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.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 2f1c35ef9e8b617cb430f2317eac296fc5dbc552fbf92d7275cd06d78fa1f4ea
MD5 0e3b70d907f9974807c7ef8de0bb3a62
BLAKE2b-256 7814196a93797e7aa61e6308402db7d0344bd2487f4474c372c8522b5f565e98

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