244 lines
10 KiB
Markdown
244 lines
10 KiB
Markdown
Декомпозиция технического задания на разработку чат-бота для программы лояльности с оценкой трудозатрат (в **человеко-днях**, с округлением до 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.
|
||
- Сложности с безопасностью передачи ПДн.
|
||
- **Оптимизация:** можно уменьшить сроки за счёт параллельной разработки модулей.
|
||
|
||
---
|