10 KiB
10 KiB
Декомпозиция технического задания на разработку чат-бота для программы лояльности с оценкой трудозатрат (в человеко-днях, с округлением до 0.5 дня). Оценка учитывает проектирование, реализацию, интеграцию с API RS.Loyalty, тестирование и документирование.
Общие замечания:
- Используется архитектура бэкенд + бот-движок (например, на Javascript + Nodejs + библиотеки для Telegram/VK/MAX).
- Интеграция с RS.Loyalty 5.9.0 через REST API.
- Требуется веб-интерфейс (Web App) для Telegram.
- Поддержка трёх платформ: Telegram, VK, MAX (аналогичные по архитектуре, но с разными SDK).
- Оценка дана на одну команду из 2–3 разработчиков (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 дня |
Рекомендации:
- Срок реализации: 3–3.5 месяца (при 2–3 разработчиках).
- Команда: 1 бэкенд-разработчик, 1 фронтенд-разработчик (Web App), 1 тестировщик, 1 DevOps/интегратор.
- Риски:
- Неочевидные ограничения API RS.Loyalty.
- Изменения в политике Telegram по Web App.
- Сложности с безопасностью передачи ПДн.
- Оптимизация: можно уменьшить сроки за счёт параллельной разработки модулей.