Analisando propostas

Correção de uma aplicação em Node.js usando o package do whatsapp-web.js.

Publicado em 11 de Dezembro de 2024 dias na TI e Programação

Sobre este projeto

Aberto

Tenho uma aplicação em Node.js que utiliza o package whatsapp-web.js para automação de interações com o WhatsApp. No entanto, estou enfrentando os seguintes problemas:

Vazamento de memória (memory leak): A memória do processo cresce progressivamente, resultando em falhas (crash) por limite de memória. O heap snapshot aponta alto consumo por strings, closures e arrays.

Erro ao utilizar Firebase/Firestore: Operações de escrita no Firestore falham intermitentemente, apresentando o erro RST_STREAM with code 2 (Internal server error). (Melhorar somente a queue de salvamento, caso tenha algum problema com o Firebase a aplicação não crashe e tente novamente mais tarde)

Estabilidade do processo: A aplicação reinicia automaticamente após atingir o limite de memória ou devido a erros no processamento.

Objetivo:
Corrigir o vazamento de memória, otimizar o uso de recursos (strings, arrays, objetos) e garantir que as operações com o Firestore sejam realizadas sem falhas. Além disso, tenho interesse em discutir melhorias e novas funcionalidades, como:

Otimizar o disparador de mensagens existente.
Criar uma agenda de disparos programados.
Implementar otimizações gerais relacionadas ao uso do whatsapp-web.js.
Busco um profissional com experiência em Node.js, gerenciamento de memória, integração com APIs e que possa contribuir com ideias e melhorias para tornar o sistema mais eficiente e escalável.

Contexto Geral do Projeto

Somos a Recovery Master, e temos uma aplicação em Node.js que opera um robô de cotação de preços de peças. Esse sistema automatizado realiza as seguintes funções principais: Busca de informações em um banco de dados remoto: O robô consulta preços e informações de peças em um banco remoto e retorna uma lista atualizada automaticamente. Atualizações automáticas e respostas rápidas: A lista de preços é atualizada em tempo real, garantindo respostas rápidas aos clientes que solicitam cotações. Conexão com dois aparelhos para atendimento humano integrado: O sistema está conectado a dois aparelhos para gestão de cotações. Quando o cliente no robô direciona para atendimento humano, um dos dispositivos assume o atendimento, mantendo a experiência integrada e fluida. Toda a aplicação utiliza o Firebase para sincronização e comunicação em tempo real.

Categoria TI e Programação
Subcategoria Programação
Qual é o alcance do projeto? Bug ou alteração pequena
Isso é um projeto ou uma posição de trabalho? Um projeto
Tenho, atualmente Eu tenho especificações
Disponibilidade requerida Conforme necessário
Integrações de API Outros (Outras APIs)
Funções necessárias Desenvolvedor

Prazo de Entrega: Não estabelecido

Habilidades necessárias