Трекер спринты & задачи
Sprint 5 недели 9-10

Подарочные карты + 1С обратно + избранное

карты работают как товар и как способ оплаты, заказы уходят в 1С автоматически.
0% 38 к работе 38 просроч.
Общее 0
Тестирование 0
Backend 20
Mobile 9
Frontend 9
DevOps 0
Дизайнер 0
Backend · Sprint 5

Модели `GiftCard`, `Outbox`

просрочено К работе
27.04.2026 20:02

Комментарии · 0

Frontend · Sprint 5

`/gift-cards` — витрина (выбор номинала из 5 предустановленных, ввод телефона получателя и текста)

просрочено К работе
27.04.2026 20:02

Комментарии · 0

Mobile · Sprint 5

Раздел «Подарочные карты» в каталоге

просрочено К работе
27.04.2026 20:02

Комментарии · 0

Backend · Sprint 5

API:

просрочено К работе
27.04.2026 20:02

Комментарии · 0

Frontend · Sprint 5

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

просрочено К работе
27.04.2026 20:02

Комментарии · 0

Mobile · Sprint 5

Покупка карты (тот же чекаут-флоу что обычные товары)

просрочено К работе
27.04.2026 20:02

Комментарии · 0

Backend · Sprint 5

`POST /gift-cards/purchase` — покупка карты (создаётся `Order` типа `gift_card`)

просрочено К работе
27.04.2026 20:02

Комментарии · 0

Frontend · Sprint 5

`/account/orders/[id]` — отображение использованной карты в деталях заказа

просрочено К работе
27.04.2026 20:02

Комментарии · 0

Mobile · Sprint 5

Активация карты — поле в чекауте + Deep link из SMS открывает приложение с предзаполненным кодом

просрочено К работе
27.04.2026 20:02

Комментарии · 0

Backend · Sprint 5

При оплате карты → BackgroundTask: генерация уникального 16-символьного кода, SMS получателю с кодом и текстом отправителя

просрочено К работе
27.04.2026 20:02

Комментарии · 0

Frontend · Sprint 5

`/admin/gift-cards` — список карт + кнопка «выпустить вручную» (для маркетинга)

просрочено К работе
27.04.2026 20:02

Комментарии · 0

Mobile · Sprint 5

Сердечко на карточке товара + раздел «Избранное» в профиле

просрочено К работе
27.04.2026 20:02

Комментарии · 0

Backend · Sprint 5

`POST /gift-cards/check` — проверка баланса по коду (без логина)

просрочено К работе
27.04.2026 20:02

Комментарии · 0

Frontend · Sprint 5

`/admin/outbox` — таблица с фильтром по статусу + кнопка retry для failed

просрочено К работе
27.04.2026 20:02

Комментарии · 0

Mobile · Sprint 5

Полный флоу: покупка карты → SMS получателю → активация в чекауте → оплата с использованием баланса

просрочено К работе
27.04.2026 20:02

Комментарии · 0

Backend · Sprint 5

`POST /cart/apply-gift-card` — применение карты в корзине (полное или частичное списание)

просрочено К работе
27.04.2026 20:02

Комментарии · 0

Frontend · Sprint 5

`/admin/orders/[id]` — секция «Возвраты»: кнопка «Сделать возврат», список refunds со статусом, retry для failed

просрочено К работе
27.04.2026 20:02

Комментарии · 0

Mobile · Sprint 5

Заказы автоматически уходят в 1С через outbox в течение минуты

просрочено К работе
27.04.2026 20:02

Комментарии · 0

Backend · Sprint 5

В чекауте логика смешанной оплаты: `gift_card_amount + kaspi_amount = total`

просрочено К работе
27.04.2026 20:02

Комментарии · 0

Frontend · Sprint 5

`/admin/refunds` — общий список со всеми возвратами и фильтрами

просрочено К работе
27.04.2026 20:02

Комментарии · 0

Mobile · Sprint 5

Если 1С недоступна — заказы копятся в `pending`, после восстановления разгребаются автоматически

просрочено К работе
27.04.2026 20:02

Комментарии · 0

Backend · Sprint 5

При оплате частично картой — списываем баланс, остальное через Kaspi

просрочено К работе
27.04.2026 20:02

Комментарии · 0

Frontend · Sprint 5

`/account/orders/[id]` — отображение `totalRefunded` и списка completed refunds клиенту

просрочено К работе
27.04.2026 20:02

Комментарии · 0

Mobile · Sprint 5

Избранное работает на всех клиентах

просрочено К работе
27.04.2026 20:02

Комментарии · 0

Backend · Sprint 5

**1С исходящий через outbox:**

просрочено К работе
27.04.2026 20:02

Комментарии · 0

Frontend · Sprint 5

`/account/favorites` — список избранных товаров

просрочено К работе
27.04.2026 20:02

Комментарии · 0

Mobile · Sprint 5

Возврат через админку: тестовый заказ оплачен → создан refund → webhook от Kaspi → `refund.status=completed` → клиент получил push/SMS → outbox `order_refund_to_1c` создан

просрочено К работе
27.04.2026 20:02

Комментарии · 0

Backend · Sprint 5

При оплате заказа → INSERT в `outbox` со статусом `pending`, payload = заказ для 1С

просрочено К работе
27.04.2026 20:02

Комментарии · 0

Backend · Sprint 5

Cron-скрипт каждую минуту: SELECT `pending` LIMIT 10 → POST в 1С → UPDATE `sent` или INCREMENT retries (max 5, потом `failed` + Sentry-алерт)

просрочено К работе
27.04.2026 20:02

Комментарии · 0

Backend · Sprint 5

Эндпоинт `/admin/outbox/{id}/retry` для ручного повтора `failed`

просрочено К работе
27.04.2026 20:02

Комментарии · 0

Backend · Sprint 5

API избранного: `GET/POST/DELETE /favorites`

просрочено К работе
27.04.2026 20:02

Комментарии · 0

Backend · Sprint 5

**Refunds через Kaspi (см. `docs/07_refunds.md`):**

просрочено К работе
27.04.2026 20:02

Комментарии · 0

Backend · Sprint 5

Таблица `refund` + enum `refund_status`

просрочено К работе
27.04.2026 20:02

Комментарии · 0

Backend · Sprint 5

`POST /admin/orders/{id}/refunds` — инициация

просрочено К работе
27.04.2026 20:02

Комментарии · 0

Backend · Sprint 5

Расчёт смешанного возврата (gift_card + Kaspi пропорционально)

просрочено К работе
27.04.2026 20:02

Комментарии · 0

Backend · Sprint 5

Cron `kaspi_refund_dispatcher` (5 мин) + `kaspi_refund_polling` (15 мин)

просрочено К работе
27.04.2026 20:02

Комментарии · 0

Backend · Sprint 5

Webhook `refund.completed` в существующий `/webhooks/kaspi`

просрочено К работе
27.04.2026 20:02

Комментарии · 0

Backend · Sprint 5

Outbox-тип `order_refund_to_1c`

просрочено К работе
27.04.2026 20:02

Комментарии · 0