# Construction Delivery Control React-приложение для управления доставкой заказов. В текущем контуре есть три внутренние роли и публичная страница клиента: менеджер, логист, водитель и клиент. ## Запуск ```bash npm install npm run dev ``` ## Деплой Приложение разворачивается через Docker (`docker-compose.app.yml`). Сборка и запуск: ```bash 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` ## Главный документ - [Обзор системы](docs/product-overview.md) — назначение приложения, роли, сценарии, клиентский 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 для оркестрации доставки.