Есть живой Telegram-бот для трекинга питания HealthMaster (@AIHealthMasterBot). Стек: Python 3.11, aiogram 3, PostgreSQL 15, Redis, Docker, бот работает в продакшне. README с архитектурой и onboarding-документацией есть в репозитории — передаю сразу после отклика.
---
**Задача**
Добавить модуль веса пользователя и еженедельный отчёт о прогрессе. Это ключевая фича для удержания пользователей и основа для монетизации.
---
**Что нужно сделать**
**Блок 1 — Вес и цель:** - Ввод веса из трёх источников: онбординг, настройки, понедельничный пуш - Один вес в день (UniqueConstraint). Повторный ввод → UPDATE, не INSERT - Целевой вес в таблице users (goal_weight numeric(5,1)) - Тип цели бот определяет сам: цель < текущего → похудение, > → набор, = → поддержание - Диапазон: 30–250 кг. Автоокругление: 84,09 → 84.1
**Блок 2 — Планировщик:** - Пн 8:00 по локальному времени — пуш про вес совмещённый с напоминанием о завтраке - Вс 20:30 по локальному времени — еженедельный отчёт - Все пуши уважают User.timezone
**Блок 3 — Weekly report:** - 4 сценария с уникальными текстами (вес+еда / еда без веса / мало еды / нет еды) - 7 метрик: ккал, дни с едой, дни в цели (±10%), статус белка, вес Δ неделя, Δ с начала, до цели X кг - Если нет веса — весовые строки скрыть - Только текст, без графиков
**Блок 4 — Технические детали:** - Миграции только через Alembic (2 миграции: новая таблица user_weights + поле в users) - Логирование 7 событий с details: WEIGHT_ADDED, WEIGHT_UPDATED, WEIGHT_WEEKLY_PROMPT_SENT, WEIGHT_SKIPPED, WEEKLY_REPORT_SENT, GOAL_WEIGHT_SET, GOAL_WEIGHT_UPDATED - Код только в существующих папках: models/, handlers/, core/ - Не трогать: платежи, админку, графики
---
**Definition of Done**
1. Онбординг → ввод веса → WEIGHT_ADDED в логах 2. Повторный ввод веса в тот же день → UPDATE, не дубль 3. Пн 8:00 — приходит пуш по локальному времени 4. Вс 20:30 — weekly report с 7 метриками 5. Без веса — весовые строки скрыты 6. Миграция накатывается и откатывается без ошибок 7. Вес 29 кг → ошибка. 84,09 → принят как 84.1 8. Код в ветке feature/weight-tracking + PR с описанием изменений
---
**Что получишь сразу**
- Доступ к репозиторию GitHub - .env.dev и доступ к dev-серверу - Dev-бот для тестирования: @HealthMasterAIbot - README с архитектурой проекта - Trello-карточка с задачей - Полное ТЗ (25 страниц) с чеклистом крайних случаев
---
**Требования к исполнителю**
- Python 3.11+, aiogram 3.x — уверенное владение - PostgreSQL + Alembic — опыт миграций - APScheduler или аналог с поддержкой таймзон - Git — работа в ветках, PR с описанием - Опыт работы в чужом проекте без переписывания архитектуры
---
**Условия**
Бюджет: 11 000 ₽ фикс Срок: 5 рабочих дней Тестирование: только на dev-боте, не на продакшне
Это первая задача из серии. Если сработаемся — есть ещё 4–5 задач в бэклоге (геймификация, интеграции гаджетов, монетизация). Ищу разработчика на долгосрок с гибкими условиями.
вопросник для отклика обязательный:
Покажи пример бота на aiogram 3.x Работал с APScheduler и таймзонами пользователя? Сколько времени закладываешь на вход в чужой проект?