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 up --build
    
  3. Остановка и удаление контейнеров

    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.2.1.tar.gz (24.1 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.1-py3-none-any.whl (38.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: fit_tech-0.2.1.tar.gz
  • Upload date:
  • Size: 24.1 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.1.tar.gz
Algorithm Hash digest
SHA256 892ab21b803a8c5d173a4e61dad05cf40932c5c8fcc83743da57c8496c39f275
MD5 a3234cf93a2c342eea1b7f0c899d4835
BLAKE2b-256 11f2a4fb6d17ca287f0bef349d6bb8a3d584b786c9c739891a4a9c182899a8c5

See more details on using hashes here.

File details

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

File metadata

  • Download URL: fit_tech-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 38.2 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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 eb5d8a7b7c61a4fb1ac8157d0af7e16407e22531c3d0456e2e6392646c9916a3
MD5 64dca55e6c1d9ee790e1adf01444bbea
BLAKE2b-256 874dc37e8767b314129c9ad0f95867c08991a41e541103bab182e938e662846e

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