Карта функциональных требований
15 модулей, 80+ функций — полная карта продукта. Ниже — интерактивные визуализации в 6 форматах.
Treemap
Прямоугольное дерево. Размер прямоугольника = количество фич. Сравнение объёмов модулей.
D3.jsMindmap
Майнд-карта от центра. Привычный формат для мозговых штурмов и презентаций. Zoom + pan.
D3.jsТаблица
Структурированный список: модули, фичи, описания, приоритеты. Поиск, сортировка, фильтрация.
HTML/CSSRoadmap
Дорожная карта по фазам: MVP → V2 → V3 → Future. Понятно, что и когда делать.
HTML/CSSKanban
Доска с drag-n-drop: Backlog → To Do → In Progress → Done. Для командной работы над задачами.
HTML5 Drag & DropForce Graph
Силовой граф. Связи между модулями и фичами. Показывает зависимости и пересечения.
D3.js ForceСписок всех функций
15 модулей, каждый со своим набором возможностей.
Регистрация и безопасность
Вход по телефонуSMS-подтверждениеРоли: клиент/пикер/курьер/админ/суперадминJWT access + refresh токеныRate limitingAudit log
Каталог
Выбор магазина по адресуКатегории (3 уровня)Поиск (Elasticsearch)Динамические фильтры (по категории)Карточка товараНормализация данных сетейМаппинг категорий сети → платформаАдаптеры сетей (Лента, METRO, Вкусвилл и др.)Синхронизация цен/остатков (шедулер)
Корзина
Добавление товаровПромокоды и баллыDynamic Pricing (надбавка за время/погоду/загрузку)Пересчёт стоимостиОформление
Заказы
СозданиеСтатусы (оплачен → сборка → доставка → завершён)Добавление товаров после оформленияИсторияЗамена товара (пикер → звонок → альтернатива)Возврат и отмена (до/после сборки, комиссия)Event Sourcing (цепочка событий заказа)
Доставка
Временные слоты (3 дня вперёд)Dispatch (multi-objective optimization)ETA (OSRM + ML гибрид)Трекинг для клиентаОпция «Можно раньше»
Платежи
Т-Банк (онлайн, 3DSecure)СБП (QR от курьера)Карта курьеру (POS-терминал)НаличныеRefund (полный/частичный)Чек (54-ФЗ, ОФД)
Уведомления
Push (FCM)SMSEmailTelegramСобытия: заказ создан, сборка начата, курьер выехал, доставлен
Админка
Управление заказами (CRUD, статусы, комментарии)Управление товарами (CRUD, импорт/экспорт CSV)Пользователи (блокировка, роли)Промокоды (создание, статистика)Курьеры и пикеры (зоны, рейтинг)Магазины и зоны доставки (полигоны)Управление сетями-адаптерами (вкл/выкл)Audit log (кто, когда, что сделал)
B2B
Корпоративные заказы в офисРегулярные поставки (ежедневно/еженедельно)Индивидуальные цены по договоруОтсрочка платежа (3–30 дней)ЭДО (Диадок / СБИС, УПД)Счета и закрывающие документы
Dynamic Pricing
Факторы: загрузка курьеров, время, погода, расстояние, весФормула: base_fee × product(multipliers)Max надбавка: 2×Отображение в корзине до подтверждения
Приложение пикера
Список заказов (FIFO)Сканер штрихкодов (Scandit)Замены товаров (поиск альтернатив)Звонок клиенту (скрытый номер)Offline-режим (Firestore cache)Smart Sync Queue (batch upload)Подтверждение упаковки
Приложение курьера
Навигация с multi-stop маршрутомOffline-режим (Hive + Smart Sync)Off-route detection (визуальный + звуковой алерт)Приём оплаты (офлайн hold → sync)Digital Signature (POD)Photo PODСканерСтатусы доставки
Инфраструктура
CI/CD (GitHub Actions, testcontainers)Docker Compose → KubernetesМониторинг (Prometheus + Grafana + Loki + Jaeger)Sentry (error tracking)Feature flags (Flipper / LaunchDarkly)Rollback (git revert + rolling update)
Тестирование
Unit (mockery + testify)Integration (testcontainers)Contract (Pact CDC)E2E (Cypress + K6)Load (K6: stress, soak, spike)Security (SonarCloud + Trivy + Aikido)
Аналитика
Дашборды (Grafana)Отчёты (выручка, заказы, конверсия)Метрики (DAU/MAU, время сборки, ETA, топ товаров)