Техническое задание: Доработка Telegram Mini App
Краткое описание проекта
Существует готовый проект Telegram Mini App, созданный с помощью ИИ. Приложение включает React-интерфейс с онбордингом, дашбордом, профилем, системой подписок, дневником настроения, архивом и реферальной программой. На бэкенде используется FastAPI с MongoDB, реализована админ-панель для управления пользователями, тарифами, промптами AI и аналитикой. Требуется доработка функционала и исправление критических багов для завершения интеграции.
Стек технологий
- Frontend: React 18, Tailwind CSS, shadcn/ui, Telegram Mini App SDK, PWA, i18n (RU/EN)
- Backend: Python 3.10+, FastAPI, Motor (MongoDB), Pydantic, APScheduler, JWT
- База данных: MongoDB
- Интеграции: Telegram Bot API, OpenAI (для генерации гороскопов)
Критические баги, требующие исправления
1. Проблема с сохранением telegram_id в Telegram Desktop
- Суть проблемы: При регистрации в десктоп-версии Telegram идентификатор пользователя не сохраняется, что приводит к созданию нового аккаунта при каждом входе.
- Затронутые файлы:
- /app/frontend/src/pages/Onboarding.js
- /app/frontend/src/hooks/useTelegramWebApp.js
- /app/backend/telegram_bot.py
2. Не работает оплата через Telegram Stars
- Суть проблемы: Возникает ошибка при создании платежного инвойса (invoice).
- Затронутые файлы:
- /app/backend/routes/telegram.py
- /app/frontend/src/pages/Subscription.js
3. Не сохраняется согласие пользователя при регистрации
- Суть проблемы: Отправляется некорректный POST-запрос, из-за чего согласие на обработку данных не фиксируется.
- Затронутые файлы:
- /app/frontend/src/pages/Onboarding.js
- /app/backend/server.py
Что уже работает и не требует изменений
- Полнофункциональный React-интерфейс со всеми основными страницами
- Админ-панель с управлением пользователями, тарифами (мультивалюта), настройками бота, промптами AI, аналитикой, логами и тикетами
- FastAPI Backend с REST API, MongoDB, Telegram Bot webhook, командами бота, автоуведомлениями (APScheduler), JWT-авторизацией
- Интеграция с Telegram Mini App SDK и защита от браузерного доступа
- Поддержка PWA и двух языков (RU/EN)
Требования к исполнителю
- Опыт работы со стеком React + FastAPI + MongoDB
- Глубокое знание Telegram Bot API и специфики Telegram Mini Apps
- Опыт интеграции и отладки платежных систем, особенно Telegram Stars
- Умение анализировать и исправлять существующий код, написанный с участием ИИ
- Внимательность к деталям и понимание механизмов авторизации и сессий в Telegram-приложениях
Ожидаемый результат
Полностью работоспособное Telegram Mini App, в котором исправлены все указанные критические баги. Пользователи должны иметь возможность:
- Успешно регистрироваться и входить как с мобильных, так и с десктоп-версий Telegram без потери данных
- Давать и сохранять согласие на обработку персональных данных
- Оформлять и оплачивать подписки через встроенную систему Telegram Stars
Все изменения должны быть внесены аккуратно, без нарушения существующего рабочего функционала.