supersam/docs/product-overview.md

5.6 KiB
Raw Blame History

SuperSam: Обзор системы

SuperSam — это система управления доставкой заказов. В текущем scope она состоит из трёх внутренних ролей и одной публичной страницы для клиента: менеджер, логист, водитель и клиент.

Задачи приложения

  • показать менеджеру единый реестр доставочных заказов с поиском и карточкой заказа;
  • показать логисту список доставок на сегодня и ближайшие дни с половинами дня;
  • показать водителю свои доставки, адрес, состав заказа и базовые статусы;
  • дать клиенту публичную ссылку, по которой он выбирает дату и половину дня доставки;
  • хранить состояние заказов, приглашений и истории изменений в Supabase.

Роли

Менеджер

  • видит список заказов доставки;
  • ищет по номеру заказа, клиенту и телефону;
  • открывает карточку заказа и смотрит состав, комментарии и историю;
  • не работает с созданием заказов и внутренними служебными экранами.

Логист

  • видит заказы, готовые к доставке;
  • смотрит ближайшие даты: сегодня, завтра и послезавтра;
  • смотрит половину дня и текущий статус доставки;
  • открывает карточку заказа, чтобы свериться с деталями.

Водитель

  • видит только свои доставки;
  • открывает адрес, клиента, состав заказа и комментарии;
  • меняет базовый статус доставки по маршруту.

Клиент

  • получает публичную ссылку вида /delivery/:token;
  • видит номер заказа и состав заказа;
  • выбирает дату и половину дня: До обеда или После обеда;
  • подтверждает выбор без входа во внутренний кабинет.

Основные сценарии

Внутренний сценарий

  1. Заказ появляется в Supabase.
  2. Менеджер видит его в реестре и сверяет состав.
  3. Логист отслеживает готовность и ближайшее окно доставки.
  4. Водитель получает свою доставку и доводит её до результата.

Сценарий клиента

Клиентская страница работает по token из таблицы public.delivery_invitations.

После загрузки seed можно открыть ссылку:

/delivery/client-flow-1001

Эта ссылка показывает:

  • заказ CD-240031;
  • состав заказа;
  • четыре варианта слота;
  • две даты;
  • две половины дня: До обеда и После обеда.

После подтверждения выбора:

  • invitation переводится в состояние agreed;
  • заказ переводится в Доставка согласована;
  • в order_history появляется запись о подтверждении;
  • в delivery_slots фиксируется подтверждённый слот.

Что хранится в Supabase

  • public.users — пользователи и роли;
  • public.orders — заказы и текущие статусы;
  • public.order_history — история изменений;
  • public.delivery_slots — возможные и подтверждённые слоты доставки;
  • public.delivery_invitations — публичные invitation token и состояние клиентского flow;
  • public.integration_events — технические и интеграционные события.

Как подготовить систему к показу

  1. Загрузить схему supabase/schema.sql.
  2. Выполнить supabase/seed/stage-1-demo.sql.
  3. Убедиться, что развернуты Edge Functions:
    • get-delivery-invitation
    • confirm-delivery-choice
    • create-delivery-invitation
  4. Открыть внутренний кабинет и пройти вход под ролью.
  5. Открыть клиентскую ссылку /delivery/client-flow-1001.

Что показывать на встрече

  • вход менеджера, логиста и водителя;
  • реестр заказов и карточку заказа;
  • список доставок по датам для логиста;
  • карточку доставки водителя;
  • клиентскую ссылку с выбором даты и половины дня.

Полезные документы