/interaction-examples

Примеры межмодульных взаимодействий

Primary LanguageTypeScript

interaction-examples

Примеры межмодульных взаимодействий

В данном репозитории собраны 5 примеров межмодульного взаимодействия:

  • поверх REST
  • напрямую через фасады
  • на событиях (хореография)
  • на событиях (оркестрация)
  • на событиях средствами nestjs (оркестрация)

В качестве примера используется простая предметная область с модулями:

  • order
  • consumer
  • account

И всего 3 пользовательскими историями:

  • создание потребителя
  • пополнение счета
  • создание заказа

Пользовательские истории

Создание потребителя

  • Потребитель создается в статусе ApprovalPending в модуле consumer
  • Автоматически для потребителя создается его денежный аккаунт в модуле account
  • Если создание аккаунта прошло успешно, то потребитель переходит в статус Approved

Пополнение счета

  • Счет любого потребитя можно пополнить на указанную сумму денег

Создание заказа

  • Заказ создается в статусе ApprovalPending в модуле order
  • Проверяется существование указанного в заказе потребителя в модуле consumer
  • Если потребитель существует, то заказ оплачивается в модуле account
  • Если оплата прошла успешна, то заказ переходит в статус PaymentApproved
  • Если оплата для оплаты недостаточно средств, то заказ переходит в статус PaymentRejected