Задача

Разработать отказоустойчивый backend сервис для управления платным доступом к цифровому продукту. Пользователи взаимодействуют через Telegram-бота, который служит точкой входа.

Функциональные требования

Для пользователя:

  • При регистрации каждому пользователю создается уникальная конфигурация подключения (индивидуальные ключи и параметры) ;
  • Возможность активировать доступ на нескольких устройствах - конкретный лимит задается в рамках выбранного пользователем тарифа;
  • Сервис отслеживает активные соединения пользователя в реальном времени и автоматически блокирует попытку превысить установленный лимит (например, если куплен доступ для 2 устройств, третье устройство будет отвергнуто) ;
  • Автоматическое отключение доступа после истечения подписки - без дополнительных действий со стороны администратора.

Для администратора:

  • Просмотр списка всех активных аккаунтов с их текущим статусом;
  • Блокировка и продление доступа для любого пользователя в ручном режиме;
  • Просмотр истории и статистики активных сессий (пики нагрузки, время подклдючения, количество отказов и т.п.) .

Технические требования

  • Производительность: Поддержка от 1 до 10 000 одновременно подключенных пользователей;
  • Масштабируемость: Горизонтальное масштабирование (возможность добавлять ноды) для увеличения емкости системы;
  • Протоколы: Работа с TCP и UDP соединениями для различных типов трафика;
  • Безопасность и управление: Централизованное управление пользовательскими ключами шифрования и доступом;
  • Стабильность: Минимальные задержки и стабильность сервиса при высоких нагрузках

Ожидаемый результат

  • Готовая архитектура решения (схема взаимодействия компонентов) ;
  • Работающий backend, развернутый в среде (например, Docker);
  • Чистое REST API для интеграции с Telegram-ботом (createUser, activateKey, getStatistics, blockUser, extendAccess, etc.);
  • Инструкция по развертыванию сервиса (деплой) для сисадмина или devops-инженера.;

Создание карточки товара

Необходимо разработать привлекательную и информативную карточку товара. Требуется переписать готовое техническое задание в более понятном и интересном формате, избавив его от названий фирм и контактов.