Estamos buscando um desenvolvedor backend experiente para otimizar a arquitetura de processamento do nosso sistema CRM. O objetivo principal é refatorar as rotinas automáticas que atualmente rodam como Edge Functions no Supabase, migrando-as para um worker backend externo mais eficiente.
Contexto Atual do Projeto:
O sistema CRM está em produção e utiliza Lovable para o frontend e lógica da aplicação, e Supabase para database, autenticação e storage. Possui também integração com a API de WhatsApp (Z-API).
Atualmente, o projeto conta com mais de 30 Edge Functions, algumas das quais são executadas automaticamente via cron jobs com alta frequência (a cada 1, 3 ou 5 minutos).
Essas funções são responsáveis por tarefas críticas como:
- Processamento de automações
- Envio de mensagens agendadas
- Campanhas de mensagens em massa
- Verificação de webhooks pendentes
- Envio de notificações
- Sincronização de dados do WhatsApp
Problema Identificado:
O problema atual é que essas rotinas são executadas mesmo quando não há tarefas pendentes, resultando em um grande número de execuções na Cloud e um aumento desnecessário no consumo de infraestrutura. Existem rotinas que são executadas milhares de vezes diariamente, impactando a eficiência e os custos.
Objetivo do Projeto:
Refatorar a arquitetura existente, migrando essas rotinas automáticas para um worker backend externo. Este worker será implementado em
Node.js e rodará na plataforma Railway, processando tarefas apenas quando houver registros pendentes no banco de dados, otimizando assim o uso de recursos.
Arquitetura Desejada:
- Frontend: Lovable
- Database: Supabase
- Worker backend:
Node.js no Railway
Escopo do Trabalho:
- Criar um worker backend robusto em
Node.js.
- Conectar o worker ao Supabase para acesso e manipulação de dados.
- Implementar um sistema de processamento de tarefas baseado em filas para gerenciar as rotinas.
- Migrar gradualmente as rotinas automáticas existentes para o novo worker, garantindo a continuidade do serviço.
- Configurar o deploy do worker no Railway, utilizando integração com Github para ci/cd.
Observação Importante:
Dado que o sistema já está em produção, a migração deve ser realizada com extrema segurança e cuidado para não afetar o funcionamento atual do CRM. É Fundamental garantir a estabilidade e a integridade dos dados durante todo o processo.
Requisitos Desejáveis:
Buscamos um profissional com experiência comprovada em Supabase,
Node.js, desenvolvimento de workers assíncronos e familiaridade com a plataforma Railway.
Prazo de Entrega: Não estabelecido