Мікросервіс трекінгу поштових служб на Node.js / TypeScript (BullMQ, Redis)
Потрібно написати ізольований фоновий воркер/мікросервіс для періодичного опитування та оновлення статусів посилок через API поштових операторів (Нова Пошта, Укрпошта, Meest). ВХІДНІ ДАНІ (Inbound): Черга завдань Redis (BullMQ) передає повідомлення виду: { track_number: "2045...", carrier: "nova_poshta" | "ukrposhta" | "meest", priority: 1..3 } ОБРОБКА (Worker Core): - Адаптери під API кожного перевізника з окремими лімітами частоти запитів (Rate Limiting: не більше 3 req/sec на одного провайдера) - Мапінг сирих відповідей служб доставки в єдину внутрішню систему статусів (CREATED → IN_TRANSIT → AT_BRANCH → RECEIVED → RETURNED) - Автоматичний ретрай помилок (Exponential Backoff): при таймаутах або 502/503 повторювати через 2, 5, 15 хвилин ВИХІДНІ ДАНІ (Outbound): - Збереження нової точки маршруту та зміненого статусу в PostgreSQL - Публікація події про зміну в Redis Pub/Sub та відправка вихідного Webhook на URL клієнта із підписом HMAC SHA-256 ТЕХНІЧНІ ВИМОГИ: Node.js 20+, суворий TypeScript, робота через пул BullMQ, легкий ORM (Kysely або Prisma), покриття юніт-тестами на парсери відповідей (Vitest). Обов'язкова наявність docker-compose.yml для локального підняття оточення (Redis + Postgres).