zov-tech/ROADMAP.md
2026-05-18 16:51:11 +03:00

6.7 KiB
Raw Blame History

ROADMAP — zov-tech CRM MiniApp

Обновляется агентами автоматически. Последнее обновление: 2026-05-18 (вечер)


🎯 Продуктовая цель

Telegram MiniApp для 112 менеджеров салонов ЗОВ: подбор техники, замеры, сборки, CRM-клиенты. Привязка менеджеров к куратору через инструмент. Клиентский кабинет — воронка покупки.


Готово (реализовано)

Инфраструктура

  • VPS на Docker (FastAPI + aiogram + Caddy)
  • GitHub Pages для MiniApp (auto-deploy при push в master)
  • Google Sheets как БД
  • HMAC-SHA256 аутентификация через Telegram initData
  • Pre-push hook: CSS-линтер + UI Playwright блокируют сломанный код
  • CI: GitHub Actions запускает тесты при каждом push

Модули MiniApp (менеджер/admin)

  • Список клиентов + поиск + карточка клиента
  • Создание/редактирование клиента
  • Замеры: создание, фото, закрытие заявки
  • Заявка на замер (назначение замерщику)
  • Сборки: создание, список, детальная карточка
  • Подбор техники (proposals): создание, варианты, голосование клиента
  • Подбор через AI (GigaChat/Claude)
  • Приватность клиентских данных (имена/телефоны скрыты визуально)
  • 4 темы оформления: Default, Foundry, Boardroom, Atelier
  • Экран #/me — профиль для всех ролей (менеджер / сотрудник / клиент)
  • Экран #/master — входящие заявки для замерщика/сборщика
  • Экран #/inbox — входящие задачи менеджера (решение по подбору)

Качество

  • 15-секундный таймаут на все fetch-запросы (все модули)
  • CSS-линтер (запрещённые паттерны + WCAG-контраст)
  • Smoke API тесты (12 эндпоинтов)
  • Полный тест кабинета менеджера (19 сценариев)
  • UI Playwright smoke (15 проверок — все экраны включая #/inbox, #/me)
  • CI: smoke-ui.yml — Playwright против GitHub Pages после каждого деплоя
  • Docker login на VPS (без 429 при ребилде)

🔄 В работе

Задача Агент Статус
Доступ сервисного аккаунта к Google Drive (отгрузки/поступления) devops ждём подтверждения

📋 Бэклог (приоритизирован)

Приоритет 1 — Завершение MVP менеджера

  • Экран «Мой статус» — #/me реализован
  • Входящие задачи менеджера — #/inbox реализован
  • Отгрузки и поступления склада ( блокер: share Drive с zov-backend@zov-sborka.iam.gserviceaccount.com)

Приоритет 2 — Клиентский кабинет

  • Базовый клиентский экран #/c/cabinet
  • История заказов клиента #/c/orders (подборы + сборки, таймлайн)
  • Самозамер #/c/selfmeasure (5-шаговый мастер + бэкенд)
  • Детальная карточка сборки #/c/assembly/:id
  • Цена замера: 2500₽ + 40₽/км за КАД — везде в UI
  • Калькулятор стоимости кухни — отложен (недостаточно данных)

Приоритет 2б — Договоры и документы (новый блок)

  • Модуль Contracts — лист Contracts в Sheets: номер, дата, стоимость кухни/техники/камня, схема оплаты (50/70/100%), аванс, остаток, срок изготовления, тип фасадов
  • Личный дашборд сборщика (#/master/dashboard): календарь работ, заработок по дням, итого за период (8-9% от kitchen_price)
  • Цифровой акт (#/c/act/:id): Акт№3 (сборка+выезд) + Акт№4 (приёмка товара) — подпись клиента пальцем на экране или кодом из Telegram
  • Прайс на доп. работы — голосовой ввод → форматированный PDF/JPEG с факсимиле → отправка в бот или на email; источник: ! ПРАЙС-ЛИСТ.xlsx (41 позиция, уже структурирован)
  • ⚠️ Уточнить: сборщик получает 8% или 9% от стоимости кухни (прайс неоднозначен)
  • ⚠️ Уточнить: выезд замерщика 2500₽ vs выезд на сборку 1500₽ — разные тарифы, проверить

Приоритет 3 — Аналитика и управление

  • Дашборд куратора: активность менеджеров, воронка сделок
  • Реестр менеджеров: поле last_order_date, 90-дневный контроль активности
  • Метрики: количество замеров, подборов, сборок по менеджеру

Приоритет 4 — Монетизация

  • Платёжная интеграция (Telegram Stars / ЮKassa)
  • Статусы подписки менеджеров (бесплатно / платно)

Технический долг

  • Content-Type: application/json в _fetchWithTimeout (все модули)
  • Аудит app.js роутера на edge cases
  • Тест карточки клиента в Playwright (нужна фикстура)
  • Staging-окружение (отдельный VPS или Docker Compose override)

🚫 Не в скоупе (решение принято)

  • Нативное мобильное приложение (остаётся MiniApp)
  • База знаний, Обучение, FAQ (отдельный продукт)
  • Партнёрская комиссия от производителей