zov-tech/ROADMAP.md
wasrusgen 78e332dd95 feat: самозамер #/c/selfmeasure — 5-шаговый мастер для клиента
- selfmeasure.js: тип кухни (SVG-карточки) → стены → коммуникации → фото → контакт+отправка
- cabinet.js: кнопка «📐 Самозамер кухни» → #/c/selfmeasure
- app.js: маршрут #/c/selfmeasure, guard _hashListenerAdded
- index.html: подключение selfmeasure.js v20260518k
- backend: /api/self_measure_submit (hot-patch на VPS)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-18 14:40:50 +03:00

89 lines
5.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# ROADMAP — zov-tech CRM MiniApp
> Обновляется агентами автоматически. Последнее обновление: 2026-05-18 (вечер)
---
## 🎯 Продуктовая цель
Telegram MiniApp для 112 менеджеров салонов ЗОВ: подбор техники, замеры, сборки, CRM-клиенты.
Привязка менеджеров к куратору через инструмент. Клиентский кабинет — воронка покупки.
---
## ✅ Готово (реализовано)
### Инфраструктура
- [x] VPS на Docker (FastAPI + aiogram + Caddy)
- [x] GitHub Pages для MiniApp (auto-deploy при push в master)
- [x] Google Sheets как БД
- [x] HMAC-SHA256 аутентификация через Telegram initData
- [x] Pre-push hook: CSS-линтер + UI Playwright блокируют сломанный код
- [x] CI: GitHub Actions запускает тесты при каждом push
### Модули MiniApp (менеджер/admin)
- [x] Список клиентов + поиск + карточка клиента
- [x] Создание/редактирование клиента
- [x] Замеры: создание, фото, закрытие заявки
- [x] Заявка на замер (назначение замерщику)
- [x] Сборки: создание, список, детальная карточка
- [x] Подбор техники (proposals): создание, варианты, голосование клиента
- [x] Подбор через AI (GigaChat/Claude)
- [x] Приватность клиентских данных (имена/телефоны скрыты визуально)
- [x] 4 темы оформления: Default, Foundry, Boardroom, Atelier
- [x] Экран #/me — профиль для всех ролей (менеджер / сотрудник / клиент)
- [x] Экран #/master — входящие заявки для замерщика/сборщика
- [x] Экран #/inbox — входящие задачи менеджера (решение по подбору)
### Качество
- [x] 15-секундный таймаут на все fetch-запросы (все модули)
- [x] CSS-линтер (запрещённые паттерны + WCAG-контраст)
- [x] Smoke API тесты (12 эндпоинтов)
- [x] Полный тест кабинета менеджера (19 сценариев)
- [x] UI Playwright smoke (15 проверок — все экраны включая #/inbox, #/me)
- [x] CI: smoke-ui.yml — Playwright против GitHub Pages после каждого деплоя
- [x] Docker login на VPS (без 429 при ребилде)
---
## 🔄 В работе
| Задача | Агент | Статус |
|--------|-------|--------|
| Доступ сервисного аккаунта к Google Drive (отгрузки/поступления) | devops | ⏳ ждём подтверждения |
---
## 📋 Бэклог (приоритизирован)
### Приоритет 1 — Завершение MVP менеджера
- [x] Экран «Мой статус» — #/me реализован
- [x] Входящие задачи менеджера — #/inbox реализован
- [ ] Отгрузки и поступления склада (⏳ блокер: share Drive с zov-backend@zov-sborka.iam.gserviceaccount.com)
### Приоритет 2 — Клиентский кабинет
- [ ] Базовый клиентский экран (сейчас только `#/picker`)
- [ ] История заказов клиента
- [ ] Самозамер (5-шаговая форма для клиента)
- [ ] Калькулятор стоимости кухни
### Приоритет 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 (отдельный продукт)
- Партнёрская комиссия от производителей