diff --git a/akloyalty.md b/akloyalty.md new file mode 100644 index 0000000..cfa0873 --- /dev/null +++ b/akloyalty.md @@ -0,0 +1,245 @@ +Вот декомпозиция технического задания на разработку чат-бота для программы лояльности с оценкой трудозатрат (в **человеко-днях**, с округлением до 0.5 дня). Оценка учитывает проектирование, реализацию, интеграцию с API RS.Loyalty, тестирование и документирование. + +--- + +### **Общие замечания:** +- Используется архитектура бэкенд + бот-движок (например, на Python + FastAPI + библиотеки для 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. + - Сложности с безопасностью передачи ПДн. +- **Оптимизация:** можно уменьшить сроки за счёт параллельной разработки модулей. + +--- + +Если нужно — могу подготовить **Gantt-диаграмму**, **оценку по спринтам (Agile)** или **разбивку по ролям**. \ No newline at end of file