Техническое задание: Модульная система заказов с интеграцией API

Необходимо разработать серверную систему на фреймворке NestJS для централизованной работы с заказами через API множества поставщиков.

Ключевые требования к системе

  • Поддержка разных поставщиков: Каждый поставщик имеет уникальное API с различным набором поддерживаемых операций (создание заказа, проверка статуса, отмена и т.д.).
  • Гибкая система статусов: У каждого поставщика - собственная модель статусов заказов. Система должна маппить их на внутреннюю унифицированную модель.
  • Функция резервирования: Реализовать логику резервирования товаров на стороне поставщиков, где такая возможность предусмотрена их API.
  • Архитектура на базе паттернов: Использовать проверенные архитектурные подходы (например, паттерн Адаптер, Фасад, Стратегия) для обеспечения гибкости, масштабируемости и простоты добавления новых поставщиков.
  • Четкое разделение ответственности: Код должен быть модульным, с изолированной логикой для работы с каждым поставщиком.

Ожидаемый результат

Стабильное, расширяемое ядро системы, которое абстрагирует сложность работы с различными внешними API, предоставляя внутреннему коду приложения единый интерфейс для управления заказами.