4.6 KiB
Product Docs And Real Client Flow Design
Goal: Подготовить один общий документ по приложению с описанием задач, ролей и пользовательских сценариев, а также довести публичную клиентскую страницу до рабочего Supabase flow на реальном invitation token и seed-данных.
What We Are Building
Нужен один основной документ, который можно открыть первым и понять:
- зачем существует приложение;
- какие роли в нём есть;
- что видит каждая роль после входа;
- как проходит согласование доставки с клиентом;
- какие данные должны быть подготовлены в Supabase для показа.
Параллельно нужно довести клиентскую страницу /delivery/:token до реально работающего сценария на базе delivery_invitations, orders и delivery_slots, чтобы можно было показать не showcase-заглушку, а настоящий flow.
Product Documentation Shape
Главный документ должен быть продуктовым, а не набором технических заметок. Рекомендованная структура:
- Назначение системы
- Основные задачи приложения
- Роли и зоны ответственности
- Ключевые рабочие сценарии
- Сценарий клиента по публичной ссылке
- Какие данные живут в Supabase
- Как подготовить систему к показу
- Полезные ссылки на более глубокие технические документы
Этот документ должен стать основной точкой входа из README.
Real Client Flow
Клиентская страница должна работать на реальном token из delivery_invitations, без локального fallback как основного сценария.
Для этого:
get-delivery-invitationдолжен корректно работать с тем способом вызова, который использует фронтенд;- ответ invitation должен возвращать все данные, нужные клиентскому экрану: заказ, клиент, state, доступные слоты, выбранные
delivery_dateиdelivery_time; confirm-delivery-choiceдолжен фиксировать выбор клиента и обновлять заказ/историю;- seed должен создавать один рабочий invitation token, который можно открыть в браузере и пройти до подтверждения.
Seed Strategy
Нужен один понятный рабочий пример для показа:
- заказ в статусе
Ожидает ответа клиента; - invitation с известным токеном;
- слоты на две даты и две половины дня;
- логист и менеджер уже привязаны;
- после подтверждения выбор уходит в историю и переводит заказ в
Доставка согласована.
Вместо текстовых слотов вида 14 апреля, первая половина дня лучше хранить технически стабильный формат, который фронтенд однозначно разбирает, например YYYY-MM-DD, До обеда.
UX Decisions
- В клиентском экране главное действие — выбор даты и половины дня без лишнего текста.
- Тексты должны звучать как рабочий сервис доставки.
- В документе роли описываются через задачи и результат, а не через внутреннюю реализацию интерфейса.
Validation
- Тесты API/клиента фиксируют рабочий invitation flow.
- После seed известный токен должен открываться на
/delivery/:token. - Общий документ должен быть связан с
READMEкак основной обзор проекта.