Техническое задание: Доработка 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
Все изменения должны быть внесены аккуратно, без нарушения существующего рабочего функционала.