Владелец: «нужно видеть, как всё происходит: push отправили — реакции не было, потом SMS, потом звонок; с какого раза человек ответил на звонок, кто вообще не поднимает трубку». Один RPC admin_comms_funnel(p_days, p_date_from, p_date_to) — период считается как у admin_automation_economics (30 = группы, созданные за 30 дней; 0 = всё время) — отдаёт: этапы цепочки по когорте (группы → push → первое SMS → открыли ссылку → позвонили → взяли трубку → согласовано → в ручную → выдано), разбивку звонков по попыткам (всего/взяли/согласовали/не взяли + % ответов), каналы подтверждения (робот / менеджер / ссылка), список «не поднимают трубку» и «открыли ссылку, но не подтвердили», и «silent» — кого не достали ни ссылкой, ни звонком. Блок CommsFunnelBlock на «Аналитике» под KPI-карточками, те же табы периода, mobile-first, время в МСК. За 30 дней: 396 групп, первое SMS 340, открыли ссылку 1, звонили 26, взяли трубку 14, согласовано 128, в ручную 22, выдано 357; 265 (66.9%) не достали никак. С попыток: 1-я — 42 ответа из 64, 2-я — 2 из 6, 3-я — 4 из 4. Тест: src/components/admin/analytics/CommsFunnelBlock.test.jsx (7 проверок, фикстура по реальному ответу RPC). SW: v123 -> v124. |
||
|---|---|---|
| .vscode | ||
| ats-patch | ||
| docs | ||
| public | ||
| scripts | ||
| src | ||
| supabase | ||
| volumes | ||
| .env.example | ||
| .gitignore | ||
| .opencode.json | ||
| 1 | ||
| Caddyfile | ||
| Dockerfile | ||
| QWEN.md | ||
| README.md | ||
| anonymize_xml.py | ||
| deno.lock | ||
| deploy.log | ||
| deploy.sh | ||
| docker-compose.app.yml | ||
| docker-compose.dev.yml | ||
| docker-compose.yml | ||
| eslint.config.js | ||
| index.html | ||
| no8-logic.js | ||
| package-lock.json | ||
| package.json | ||
| postcss.config.js | ||
| tailwind.config.js | ||
| vite.config.js | ||
| webhook-deploy.py | ||
| webhook-listener.py | ||
| webhook_listener.py | ||
README.md
Construction Delivery Control
React-приложение для управления доставкой заказов. В текущем контуре есть три внутренние роли и публичная страница клиента: менеджер, логист, водитель и клиент.
Запуск
npm install
npm run dev
Деплой
Приложение разворачивается через Docker (docker-compose.app.yml). Сборка и запуск:
docker compose -f docker-compose.app.yml up -d --build
Автодеплой
Настроен webhook в Gitea: при пуше в main автоматически запускается деплой.
- Webhook listener: systemd-сервис
supersam-webhookна порту 9000 - Gitea hook: push в
main→POST http://10.0.2.1:9000/webhook/supersam - deploy.sh:
git pull origin main→docker compose up -d --build - Репозиторий:
https://git.supersamsev.ru/mihail/supersam
Главный документ
- Обзор системы — назначение приложения, роли, сценарии, клиентский flow и подготовка к показу.
Что уже есть
- OTP-вход по email через Supabase Auth.
- Role-based dashboard для менеджера, логиста и водителя.
- Карточка заказа с составом, комментариями и историей.
- Публичная страница
/delivery/:tokenдля выбора даты, половины дня и просмотра состава заказа. - Самовывоз — вкладки Доставка/Самовывоз на клиентской странице, выбор даты и половины дня самовывоза, информация о бесплатном хранении (2 рабочих дня) и платном (300₽/день).
- Supabase SQL-схема, таблицы приглашений и Edge Functions для invitation flow.
- Документация по продукту, архитектуре и сценариям.
Структура
src/— интерфейс и клиентская логика.src/constants/deliveryWorkflow.js— статусы доставки, включая самовывоз.src/components/client/DeliverySlotsPicker.jsx— виджет выбора слотов доставки.src/components/client/PickupSlotsPicker.jsx— виджет выбора слотов самовывоза.src/components/client/DeliveryChoiceFlow.jsx— флоу согласования доставки/самовывоза.src/pages/ClientDeliveryPage.jsx— публичная страница с вкладками Доставка/Самовывоз.src/components/orders/OrderDetailPanel.jsx— карточка заказа с управлением доставкой и самовывозом.supabase/schema.sql— структура БД, роли, индексы, RLS, триггеры.supabase/functions/— Edge Functions для приглашений, статусов и чат-коммуникаций.supabase/seed/stage-1-demo.sql— набор seed-данных для показа заказчику.docs/architecture.md— архитектура фронтенда и модулей.docs/product-overview.md— общий обзор продукта, ролей и сценариев.docs/scenarios.md— сценарии жизненного цикла заказа.docs/n8n-order-group-delivery-flow.md— потоки n8n для оркестрации доставки.