WheyScore Backend Node

Backend automatizado para rastreamento de preços, relatórios, webhooks e notificações.

Capa ilustrativa do WheyScore Backend Node com jobs agendados e monitoramento.

Problema

Monitorar preços, gerar relatórios e disparar notificações exige rotinas confiáveis em background — sem depender de intervenção manual quando um job falha ou um marketplace muda o layout.

Solução e impacto

Backend Node.js com MySQL, node-cron para rotinas de rastreamento e relatórios, Winston para logs estruturados e webhooks para alertas de falha. Docker para deploy reproduzível. O resultado é automação orientada a produto com observabilidade pragmática, sem APM enterprise.

Arquitetura e trade-offs

Trade-off: node-cron dentro do processo em vez de fila externa (BullMQ/Redis) — suficiente para o volume atual, com o custo de retries e isolamento limitados. Separação clara entre jobs de coleta, persistência em MySQL e camada de notificação via webhooks. Winston centraliza logs para troubleshooting post-deploy.

Diagrama do WheyScore Backend: node-cron, API Node.js, MySQL, Winston, webhooks e Docker

Operação e observabilidade

Healthchecks HTTP, logs Winston estruturados e webhooks para falhas de job. Sem dashboard de APM — alertas e logs são o primeiro linha de defesa. Rollback via redeploy de container Docker.

Desafios técnicos

Garantir que jobs agendados não duplicem trabalho após restart, manter webhooks confiáveis quando APIs externas falham, e balancear simplicidade operacional com necessidade futura de métricas por job.

O que eu faria diferente

Com volume maior, migraria jobs críticos a uma fila com retries explícitos. Hoje o desenho cron + webhooks é adequado; eu adiantaria contadores de falha por job no log para reduzir tempo de diagnóstico.

Contexto técnico

  • node-cronAgendamentoRotinas de rastreamento e relatórios
  • WinstonLogsLogging estruturado

Decisões documentadas (ADR)

Stack

  • Node.js
  • MySQL
  • node-cron
  • Winston
  • Webhooks
  • Docker