UC‐CL1: Поиск товаров - JonLaybe/DeliveryHub GitHub Wiki

UC-CL1: Поиск товаров

Актор: Покупатель (Customer)
Цель: Найти товар по текстовому запросу.

Предусловия

  • В каталоге существуют товары.
  • Каталог доступен через API Gateway.

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

  1. Пользователь вводит текст в строку поиска.
  2. UI отправляет запрос в API Gateway: /search?q={запрос}.
  3. Gateway маршрутизирует запрос в Catalog Service.
  4. Catalog Service выполняет поиск в базе данных (MongoDB или Elasticsearch).
  5. Сервис возвращает список совпадающих товаров.
  6. UI отображает результат пользователю.

Альтернативные потоки

  • 2а. Пустой запрос → вывод популярных/рекомендованных товаров.
  • 4а. Совпадений нет → сервис возвращает пустой список.
  • 4б. Ошибка сервиса → возвращается сообщение об ошибке.

Постусловия

  • Пользователь видит результаты поиска или уведомление об отсутствии.

Нефункциональные требования

  • Время ответа поиска до 500 мс при нормальной нагрузке.
  • Поддержка масштабируемости для большого числа запросов.