Files
marketplaces/docs/platform/08-catalog-domain.md
sdarbinyan 10251f2fc6
Some checks failed
Architecture Governance / architecture (push) Has been cancelled
docs
2026-07-05 04:23:47 +04:00

2.2 KiB
Raw Blame History

08. Каталогный домен

Назначение

Каталогный домен описывает правила формирования витрин, листингов и поисковых выборок для tenant-магазина.

Поведение системы

  • Каталог строится из API-данных и bootstrap-конфигурации.
  • Bootstrap определяет структуру страниц каталога и виджеты.
  • API возвращает содержимое: товары, категории, метаданные фильтров.

Обязательные JSON-свойства каталога

  • catalog.settings.defaultSort
  • catalog.settings.pageSize
  • catalog.routes.list
  • catalog.routes.details

Опциональные свойства

  • catalog.filters.available
  • catalog.facets
  • catalog.badges
  • catalog.promotions

Строгие правила

  • Каталог не содержит tenant-specific условий в frontend-коде.
  • Сортировка и фильтры должны быть согласованы между frontend и backend.
  • Видимость товаров контролируется данными backend, а не frontend-хардкодом.

Пример catalog JSON (bootstrap fragment)

{
  "catalog": {
    "settings": {
      "defaultSort": "priority_desc",
      "pageSize": 20
    },
    "routes": {
      "list": "/catalog",
      "details": "/product/:id"
    },
    "filters": {
      "available": ["price", "brand", "availability"]
    }
  }
}

Ответственность Frontend

  • Отобразить листинг, фильтры, сортировки и пагинацию.
  • Синхронизировать состояние каталога с URL.
  • Стабильно обрабатывать пустые и частично заполненные наборы данных.

Ответственность Backend

  • Возвращать согласованные данные для листингов и фильтров.
  • Гарантировать корректные totals/pagination.
  • Поддерживать стабильные ключи сортировки и фильтрации.