ФитТех: тренировки, питание, рецепты.
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):
-
Скопируйте шаблон переменных окружения Создайте
.envи укажите реальные настройки (пароли, токены и т. д.). Вdocker-compose.ymlпеременные из.envбудут подхвачены автоматически. -
Соберите и запустите контейнеры
docker compose --env-file .env -f infra/compose/docker-compose.yml up --build
-
Остановка и удаление контейнеров
docker compose -f infra/compose/docker-compose.yml down
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8e9a6382fdc3dbd31cf8c61befc64c7a6e72018d0ab18cc8bd6bf84459ec4c49
|
|
| MD5 |
bf9983c96f8a3d755f1750a0f3cd732d
|
|
| BLAKE2b-256 |
47e2d0827a9c74b8717c650b56211feb85bcac9f35c76e2ee27a1ced1d330f01
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2f1c35ef9e8b617cb430f2317eac296fc5dbc552fbf92d7275cd06d78fa1f4ea
|
|
| MD5 |
0e3b70d907f9974807c7ef8de0bb3a62
|
|
| BLAKE2b-256 |
7814196a93797e7aa61e6308402db7d0344bd2487f4474c372c8522b5f565e98
|