28 июл. 2026 г.

Rukki.pro: backend, Telegram-бот и marketplace-флоу

Backend и bot-разработка marketplace-экосистемы: REST API для mobile/web/bot, реферальная система, уведомления, socket.io чаты, Redis-коммуникация, рекуррентные платежи и Telegram Web App.

TypeScriptNode.jsNestJSReactRedux ToolkitTelegrafMySQLRedisWebSocketREST APITypeORMJWTTelegram Web App

Rukki.pro - marketplace-экосистема, где backend обслуживал мобильное приложение, web-интерфейс и Telegram-бота. Бот был не второстепенной “уведомлялкой”, а отдельным каналом работы с пользователями: рассылки, подписки на статусы заказов, админские сценарии и платежи.

Проект развивался постепенно: часть логики жила в монолите, часть функциональности нужно было выносить в отдельные сервисы. Поэтому важной задачей было не только добавлять новые endpoint'ы, но и снижать связность между ботом, backend и уведомлениями.

Моя роль

Я работал над backend монолита, backend Telegram-бота и участвовал в Telegram Web App.

В монолите занимался:

  • REST API для мобильного приложения, web и Telegram-бота;
  • реферальной системой: регистрация по партнерской ссылке и начисления после закрытого заказа;
  • поддержкой документации в Swagger и Notion;
  • сервисом уведомлений: SMS, email, push, web push и Telegram;
  • socket.io сервисом для чатов и уведомлений об изменении статусов заказов;
  • заменой HTTP-вызовов к боту на коммуникацию через Redis.

В Telegram-боте:

  • строил архитектуру на NestJS и Telegraf;
  • логировал действия пользователей в MongoDB;
  • разрабатывал панель управления для менеджеров и администраторов;
  • делал массовые рассылки о новых заказах;
  • реализовывал подписки на обновления статусов заказов;
  • занимался рекуррентными платежами и интеграцией с платежным шлюзом Impaya.

В Telegram Web App:

  • помогал строить архитектуру по feature-sliced;
  • писал хуки для Telegram Web App API: главная кнопка, кнопка назад, vibration feedback и другие сценарии;
  • участвовал в авторизации через защищенную передачу Telegram ID на backend бота.

Технический акцент

Один из заметных переходов - отказ от прямого HTTP-взаимодействия с ботом там, где это создавало лишнюю связность. Redis-коммуникация позволила сделать обмен событиями спокойнее: backend мог публиковать изменение, а бот обрабатывать его как отдельный участник системы.

Еще одна важная часть - realtime и уведомления. Marketplace-сценарии завязаны на статусах заказов, поэтому пользователю важно быстро узнать о новом заказе, отклике, изменении статуса или сообщении в чате. Это требовало отдельного socket.io сервиса и аккуратной интеграции с основным backend.

Результат

Проект дал практический опыт работы с продуктовой экосистемой, где один backend обслуживает несколько клиентов и каналов коммуникации. Для меня это был важный шаг от “пишу API” к проектированию связей между web, mobile, bot, уведомлениями, платежами и realtime-сценариями.

Комментарии

Пока нет комментариев — будьте первым.