Email та Analytics
Email — SMTP
Section titled “Email — SMTP”| Поле | Значення |
|---|---|
| Провайдер | SMTP (точний — TODO: подивитись /abitly/prod/backend/SMTP_HOST значення) |
| Бібліотека | @nestjs-modules/mailer |
| Призначення | транзакційні листи (TODO: сценарії — підтвердження, password reset, нотифікації) |
| Env-ключі | SMTP_HOST, SMTP_PORT, SMTP_USER, SMTP_PASSWORD, SMTP_FROM, SMTP_SECURE |
Сервіс відправлення — Abitly API.
Analytics — двопотокова
Section titled “Analytics — двопотокова”| Потік | Провайдер | Що трекає |
|---|---|---|
| Власний lake-house | AWS (API GW + Lambda + Firehose + S3 Iceberg + Athena + dbt + Metabase) | product-events з фронту через track() (деталі) |
| GTM (Google Tag Manager) | GTM-контейнер, синхронізується скриптом npm run gtm:sync у фронт-репо | поведінка користувача / маркетингові тригери |
Endpoint analytics: NEXT_PUBLIC_ANALYTICS_COLLECTOR_URL (SSM /abitly/{env}/frontend/).
Моніторинг помилок — БЕЗ Sentry
Section titled “Моніторинг помилок — БЕЗ Sentry”| Канал | Через що |
|---|---|
| Telegram-logger bot | ERROR_LOGGER_TYPE=telegram → бот пише у чат TELEGRAM_LOG_CHAT_ID (логіка в API) |
| CloudWatch | автоматично, ECS stdout / Lambda execution |
| Grafana + Loki | агрегація логів на DO Droplet (observability) |
Sentry в стеку немає — переконайтесь, що нові helper-ах/документації її не пропонуєте.
Типові проблеми
Section titled “Типові проблеми”- SMTP-листи не доходять → перевірити
SMTP_HOST/SMTP_PORT/SMTP_SECURE; помилка SSL → ставитиSMTP_SECURE=falseлише для 587/STARTTLS. - Подія не з’являється в Athena → перевірити Lambda CloudWatch (Ajv-валідація могла відкинути payload).
- GTM не тригерить →
npm run gtm:syncміг не запушити останню версію контейнера.