Что требовалось решить
Объединить питание, здоровье и личное развитие в одном продукте, который работает внутри двух мессенджеров и развивается без дублирования предметной логики.
Кейс / Product / Telegram Mini App / MAX Mini App / Backend / Automation
Собственный продукт · В активной разработкеFitAdventure начинался как инструмент для контроля питания, но постепенно вырос в полноценную кроссплатформенную систему для управления питанием, здоровьем, привычками, обучением, личными финансами и прогрессом пользователя.
Основной интерфейс работает как Mini App внутри Telegram и MAX, а боты отвечают за вход, быстрые действия и уведомления.
Объединить питание, здоровье и личное развитие в одном продукте, который работает внутри двух мессенджеров и развивается без дублирования предметной логики.
Общая сервисная архитектура, адаптивный Mini App, versioned API и отдельные адаптеры Telegram и MAX. Изменения проходят автоматические тесты и CI/CD.
01 / Продукт
Основная работа пользователя проходит в адаптивном Mini App. Боты отвечают за вход, быстрые действия, уведомления и поддержку.
Nutrition, Food Diary, Water.
Steps, Weight, Measurements, Activities.
Habits, Tasks, Goals, Finance.
Academy, Games.
02 / Nutrition Engine v2
Nutrition Engine рассчитывает ориентиры питания на основе пользовательских параметров и встроенных ограничений.
Возраст, пол, вес, рост, процент жира, цель, тренировки, шаги, сон, стресс и образ жизни.
BMR, TDEE, Mifflin–St Jeor, Katch–McArdle. Калории, белки, жиры, углеводы, клетчатка и вода.
Разные значения для тренировочных дней и дней отдыха, проверка опасных параметров и валидация пользовательских данных.
Ориентиры питания для пользователя. Система не позиционируется как медицинский инструмент.
03 / Система питания
Дневник питания, приёмы пищи, изменение граммовки и удаление записей. Каталог объединён с рецептами и персональными рационами.
04 / Ежедневный прогресс
Индивидуальная цель воды, быстрый ввод и прогресс. Текущий результат шагов, цель, streak и рекорд.
История и динамика веса, замеры тела, фотографии прогресса и сравнение до/после.
Тренировки, дополнительные активности, ориентировочный расход энергии и итог дня.
Расход от активности не используется для искусственного автоматического увеличения нормы питания.
05 / Моя система
Отдельный продуктовый слой для управления привычками, задачами, целями, обучением и финансами.
Шаблоны, количественный прогресс, текущие и лучшие серии.
Ежедневные задачи, приоритеты и перенос. Сроки и прогресс целей.
Настроение, энергия, сон и заметка дня.
Чтение, английский и deep work.
Доходы, расходы, категории, бюджет, цель накопления и план / факт.
Недельная статистика, streaks, XP, coins, журнал наград, дневные лимиты и защита от повторного начисления.
06 / Академия и игры
Встроенная образовательная система и геймификация помогают объединить контент, привычки и личный прогресс.
Глобальный поиск, избранное, недавно просмотренные, персональные рекомендации и прогресс чтения. Связь материалов с игрой, собственные иллюстрации и карточки категорий.
«Белковый улов», «Тренировка реакции», «Не дай сорваться», «Собери тарелку», «Бей калории», «Викторина Академии».
Score, lives, records, daily challenge, achievements, XP и coins. Ограничения предотвращают бесконечный фарм наград.
07 / Notification Engine
Coach построен как детерминированная rule-based система. Генеративный AI Coach находится в roadmap.
Вода, шаги, питание, активность
Idempotency · одно событие один раз
Telegram / MAX
Вода, шаги, дневник питания, итог дня, контроль веса, активность и недельный прогресс.
Индивидуальное время, интервалы, timezone и quiet hours.
Мало воды, шагов или белка, отклонение по калориям, динамика веса и отсутствие активности.
Одно событие не отправляется повторно.
08 / Telegram + MAX
Общая продуктовая логика и Mini App с отдельными адаптерами мессенджеров.
Bot API / WebView
Webhook / API adapter
Python-telegram-bot, меню бота, запуск Mini App, быстрые действия и уведомления.
Webhook, custom API adapter, Mini App и уведомления.
09 / Безопасность и UX
HMAC verification Telegram init data, signed MAX parameters и ownership validation по user_id. MAX IDs изолированы от Telegram IDs.
Проверка размера HTTP requests, safe file path handling, versioned documents, защита от перезаписи более новых данных, mutation guards и request timeouts.
Первый запуск VYRON, затем FITRON. Интерактивный tour с подсветкой реальных UI elements, contextual hints для всех 13 разделов и повторным запуском.
Loading, empty, error, offline и retry. Учтены мобильные экраны, Telegram WebView и MAX WebView.
Telegram и MAX аккаунты пока не объединяются автоматически. Безопасная account linking система остаётся в roadmap.
10 / Архитектура
Telegram Bot, MAX Adapter и Mini App работают с одним сервисным слоем и versioned HTTP API /api/v1.
Python 3.12, python-telegram-bot, custom webhook/API adapter для MAX. /api/v1, около 100 маршрутов.
SQLite — основной источник данных. JSON — compatibility, export и restore. Document versioning, mutation log, ownership, limited server concurrency и migrations.
Vanilla JavaScript, HTML и CSS.
11 / Автоматические тесты
Тестирование является частью архитектуры продукта, а не финальной проверкой перед релизом.
12 / CI/CD и развёртывание
Production pipeline включает автоматическое развёртывание, healthcheck и rollback к предыдущей версии.
Healthcheck Failed → Rollback → Previous Version → Database Restore при необходимости.
GitHub Actions, Linux VPS, Nginx, HTTP/2, systemd, bot service и Mini App service.
Автоматическое развёртывание, healthcheck, rollback, backup, systemd timer, SQLite Backup API, integrity_check, repository secret scanning и runtime-file checks.
13 / Надёжность данных
Работа с данными строилась с учётом возможных ошибок релиза и необходимости восстановления предыдущего состояния.
Automatic backup, SQLite native Backup API и integrity_check.
Recovery, migration, document versions и change log.
14 / Project snapshot
Технический срез структуры проекта. Объём кода включает инструменты и тесты.
15 / В разработке
Собственный продукт развивается поэтапно. Эти направления пока не представлены как готовые функции.
Premium доступен только для предварительного просмотра. Пробный период на 5 дней и демо-модель описаны, но серверное ограничение доступа пока отключено.
Telegram Stars и внешняя оплата пока не подключены.
Раздел «Мой персонаж» находится в подготовке. Система развития персонажа ещё не реализована; идеи питания — в разработке.
Безопасное объединение аккаунтов Telegram и MAX пока не реализовано. Генеративный AI Coach находится в разработке.
Этапы достижения целей и переводы между финансовыми счетами пока не реализованы.
Часть проверок восстановления production и отправки уведомлений выполняется вручную.
Результат
FitAdventure вырос из фитнес-бота в полноценный full-stack продукт с собственной предметной логикой, двумя messenger-платформами, Mini App, versioned API, SQLite-first storage, системой уведомлений, образовательным контентом, играми и production pipeline.
Проект используется как долгосрочная продуктовая разработка: новые функции добавляются поверх общей архитектуры, а изменения проверяются автоматическими тестами и проходят через CI/CD.
AI-консультант по базе знаний бизнеса