Перейти к основному содержимому

Сценарии витрины

Зачем нужно

Документ описывает внутридоменные сценарии storefront. Cross-domain пути — в ../../ecosystem/user-journeys.md.

1. Посетитель открывает каталог

  1. Посетитель приходит на главную или на каталог.
  2. SSR отдаёт страницу с уже отрендеренным storefront_catalog_item read-model.
  3. Фильтры (subject, level, format, grade_range) работают через query string.
  4. Клик по карточке ведёт на лендинг продукта.

Источники данных: storefront_catalog_item (read-model), storefront_page_version.seo.

2. Посетитель смотрит лендинг

  1. Открыта страница лендинга продукта.
  2. Блоки рендерятся из storefront_block опубликованной storefront_page_version.
  3. CTA-кнопки ведут к форме или к сценарию покупки.

3. Посетитель оставляет заявку

  1. Заполняет форму (имя, email/телефон, согласия).
  2. Storefront валидирует поля, проверяет honeypot и rate limit по IP.
  3. При успехе — публикует событие storefront.lead.submitted.
  4. Посетителю показывается экран благодарности с обещанием связаться.

4. Посетитель смотрит публичный профиль преподавателя

  1. Открывает страницу /teachers/<slug>.
  2. SSR собирает данные storefront_public_profile, storefront_profile_role, storefront_review, storefront_achievement.
  3. Видны направления, отзывы, достижения, продукты с участием.

5. Посетитель смотрит публичную дорожную карту

  1. Открывает /roadmap/<programRef>.
  2. SSR использует storefront_block с roadmap projection, обновлённый по событиям lms.roadmap.published.
  3. Темы помечены как «учить», «рекомендуется», «оценить себя» (без прогресса конкретного ученика).

6. Посетитель смотрит публичную олимпиаду

  1. Открывает /competitions/<seasonRef> или страницу площадки.
  2. SSR использует storefront_page/storefront_catalog_item с source ref на competitions, обновлённые по competitions.*.published.
  3. Видны только опубликованные сезоны, площадки, результаты и документы.
  4. Списки «мои ученики / мои группы», raw submissions и закрытые результаты не отображаются.

7. Авторизованный пользователь видит витрину

  1. Если в cookies есть identity-сессия, витрина показывает дополнительные элементы (имя, личный кабинет, рекомендации).
  2. Витрина не показывает чужих учебных данных и не выполняет действий, требующих авторизации, кроме перехода в кабинет.

8. Контент-менеджер публикует страницу (admin)

  1. Заходит в storefront-admin (через identity).
  2. Создаёт черновик storefront_page_version.
  3. Заполняет блоки и SEO.
  4. Запрашивает review (если процесс настроен).
  5. Публикует — увеличивается version_published, событие storefront.page.published.
  6. SSR/cache инвалидируется.

9. Модерация отзыва

  1. Поступает отзыв через форму.
  2. Модератор открывает очередь.
  3. Принимает/отклоняет. При принятии — событие storefront.review.published.

10. Управление redirects

  1. Контент-менеджер открывает список storefront_redirect.
  2. Создаёт правило (источник → цель, код 301/302).
  3. После сохранения — gateway применяет правило.

Связанные документы