Домашнее задание (Pre-work)
Это задание — часть вводного видео курса. Мы собрали его в текстовом виде, чтобы вам не нужно было каждый раз пересматривать видео, чтобы вспомнить условие.
Важно перед началом
Контекст задачи
Представьте, что вы работаете системным аналитиком в команде мобильного приложения доставки еды.
К вам приходит бизнес и говорит:
«Нам необходимо добавить возможность оплачивать заказ банковской картой».
Ваша задача — превратить эту короткую фразу в проработанное техническое решение. Разбейте её на три части ниже.

Часть 1. Сценарии
Happy Path (успешный сценарий)
Пользователь сформировал заказ, выбрал оплату картой и нажал кнопку «Оплатить». Распишите, что должно произойти дальше:
Negative Path (нештатные сценарии)
Продумайте минимум два негативных сценария:
1. На карте недостаточно средств.
2. Платёжный шлюз не отвечает (timeout).
Усложнение (по желанию)
Что произойдёт, если пользователь очень быстро дважды нажмёт кнопку «Оплатить»? Должна ли система создать два платежа? Если нет — каким образом этого избежать?

Часть 2. API
Придумайте простой API для создания платежа:
POST /payments
Что отправить в запросе?
Подсказка: вероятно понадобятся order_id, amount и currency — но подумайте, нужны ли ещё какие-то данные.Что вернуть в ответе?
Если не уверены — посмотрите, как отвечают реальные платёжные API, например Stripe, ЮKassa или CloudPayments.

Часть 3. Схема взаимодействия
Участники схемы:
Нарисуйте стрелками, кто кому и что отправляет во время оплаты:
Пример одной стрелки:
Mobile App → Backend: POST /payments { order_id, amount, currency }
Инструмент не важен — подойдёт Miro, PlantUML или обычный лист бумаги.

Что делать с результатом
До встречи на курсе в сентябре. Добро пожаловать в системный анализ!