projects/akloyalty.md

10 KiB
Raw Permalink Blame History

Декомпозиция технического задания на разработку чат-бота для программы лояльности с оценкой трудозатрат (в человеко-днях, с округлением до 0.5 дня). Оценка учитывает проектирование, реализацию, интеграцию с API RS.Loyalty, тестирование и документирование.


Общие замечания:

  • Используется архитектура бэкенд + бот-движок (например, на Javascript + Nodejs + библиотеки для Telegram/VK/MAX).
  • Интеграция с RS.Loyalty 5.9.0 через REST API.
  • Требуется веб-интерфейс (Web App) для Telegram.
  • Поддержка трёх платформ: Telegram, VK, MAX (аналогичные по архитектуре, но с разными SDK).
  • Оценка дана на одну команду из 23 разработчиков (1 бэкенд, 1 фронтенд/бот-разработчик, 1 тестировщик).

Декомпозиция задач и оценка трудозатрат


1. Проектирование и архитектура системы

Задачи:

  • Анализ API RS.Loyalty 5.9.0.
  • Проектирование общей архитектуры бота (микросервис/монолит).
  • Проектирование структуры данных, сценариев взаимодействия.
  • Разработка протоколов обмена данными, обработка ошибок.
  • Подготовка технической документации.

Трудозатраты:
5 дней


2. Настройка окружения и CI/CD

  • Настройка сервера/облака (например, AWS, Yandex Cloud).
  • Настройка Docker, CI/CD (GitHub Actions / GitLab CI).
  • Логирование, мониторинг (например, Sentry, Grafana).
  • Подключение к API RS.Loyalty (тестовые/продовые ключи).

Трудозатраты:
3 дня


3. Реализация ядра бота (общая логика)

  • Создание бот-движка с поддержкой нескольких платформ.
  • Унификация входящих/исходящих сообщений.
  • Хранение сессий пользователей.
  • Обработка команд, навигация по меню.
  • Локализация (поддержка русского языка).

Трудозатраты:
6 дней


4. Интеграция с RS.Loyalty API

  • Реализация модуля взаимодействия с API (авторизация, запросы, обработка ошибок).
  • Реализация методов:
    • Получение баланса бонусов.
    • Регистрация пользователя.
    • Привязка/активация карты.
    • Выпуск виртуальной карты.
    • Подтверждение согласий.
    • Получение купонов/акций.

Трудозатраты:
7 дней


5. Регистрация в программе лояльности

5.1. Валидация телефона и сбор данных

  • Проверка формата телефона (по РФ).
  • Сбор ФИО, даты рождения.
  • Отправка данных в RS.Loyalty.

5.2. Web App для Telegram

  • Разработка веб-формы (React/Vue).
  • Передача данных через безопасный канал (HTTPS).
  • Валидация на стороне клиента и сервера.
  • Обработка ошибок и повторных попыток.

5.3. Реализация в VK/MAX

  • Ввод через обычные сообщения (без Web App).

Трудозатраты:
7 дней (включая разработку Web App и интеграцию)


6. Привязка пластиковой карты

  • Ввод номера карты.
  • Активация через API.
  • Заполнение анкеты (если требуется).
  • Обработка ошибок (неверный номер, уже активирована и т.п.).

Трудозатраты:
4 дня


7. Выпуск виртуальной карты

  • Запрос на выпуск через API.
  • Отображение виртуальной карты (номер, штрихкод).
  • Сохранение в профиле пользователя.

Трудозатраты:
3 дня


8. Получение юридических согласий

  • Отображение списка согласий (обработка ПДн, рассылки).
  • Кнопки "Да"/"Нет".
  • Отправка согласий в RS.Loyalty.
  • Ссылка на юридические документы (открытие в браузере).

Трудозатраты:
2 дня


9. Отображение штрихкода

  • Генерация штрихкода (Code128) на основе номера карты.
  • Отображение в виде изображения.
  • Поддержка скачивания/сохранения.
  • Отображение в Web App и в сообщениях.

Трудозатраты:
3 дня


10. Отображение баланса бонусов

  • Запрос к API.
  • Форматирование и отображение (текущий баланс, срок действия).
  • Обработка ошибок (нет подключения, нет карты).

Трудозатраты:
2 дня


11. Маркетинговые рассылки

11.1. Отправка акций и предложений

  • Получение данных из RS.Loyalty.
  • Формирование сообщений (текст, изображения).
  • Персонализация (по имени, сегменту).

11.2. Купоны с штрихкодами

  • Генерация штрихкода купона.
  • Отправка в сообщении.
  • Срок действия, условия.

11.3. Уведомления

  • Автоматические уведомления (например, о начислении бонусов).
  • Поддержка push-уведомлений в мессенджерах.

Трудозатраты:
6 дней


12. Обратная связь

12.1. Чат с контактным центром

  • Пересылка сообщений оператору.
  • Уведомление пользователя о статусе.
  • Возможность прикрепления текста/фото.

12.2. Контакты

  • Кнопки: "Позвонить", "Перейти на сайт", "Соцсети".
  • Открытие внешних ссылок.

Трудозатраты:
4 дня


13. Поддержка трёх платформ (Telegram, VK, MAX)

  • Адаптация интерфейса под каждую платформу.
  • Особенности Web App (только Telegram).
  • Особенности API (кнопки, медиа, безопасность).
  • Тестирование на всех платформах.

Трудозатраты:
5 дней (дополнительно к базовой реализации)


14. Тестирование

  • Модульное тестирование (backend, API-вызовы).
  • Интеграционное тестирование (бот ↔ RS.Loyalty).
  • Ручное тестирование сценариев на всех платформах.
  • Тестирование безопасности (передача ПДн).
  • Исправление багов.

Трудозатраты:
7 дней


15. Документация и передача

  • Техническая документация (архитектура, API).
  • Руководство для маркетологов (как управлять рассылками).
  • Обучение поддержки.
  • Передача проекта заказчику.

Трудозатраты:
3 дня


Итого: Общая оценка трудозатрат

Этап Трудозатраты (дни)
Проектирование 5
Окружение и CI/CD 3
Ядро бота 6
Интеграция с RS.Loyalty 7
Регистрация (с Web App) 7
Привязка карты 4
Виртуальная карта 3
Юридические согласия 2
Штрихкод 3
Баланс бонусов 2
Маркетинговые рассылки 6
Обратная связь 4
Поддержка платформ 5
Тестирование 7
Документация 3
ИТОГО 72 дня

Рекомендации:

  • Срок реализации: 33.5 месяца (при 23 разработчиках).
  • Команда: 1 бэкенд-разработчик, 1 фронтенд-разработчик (Web App), 1 тестировщик, 1 DevOps/интегратор.
  • Риски:
    • Неочевидные ограничения API RS.Loyalty.
    • Изменения в политике Telegram по Web App.
    • Сложности с безопасностью передачи ПДн.
  • Оптимизация: можно уменьшить сроки за счёт параллельной разработки модулей.