Trabajando

Desenvolvedor Full Stack Node.js para Refatoração de Sistema de Monitoramento de Dados

Publicado el 26 Febrero, 2026 en Programación y Tecnología

Sobre este proyecto

Abierto

Estamos buscando um desenvolvedor Full Stack experiente em Node.js e JavaScript Vanilla para refatorar e aprimorar um sistema de monitoramento de padrões em tempo real. O projeto atual já está funcional, mas necessita de uma atualização crucial para suportar um modelo multi-contexto e implementar um robusto sistema de histórico de notificações com ciclo de vida.

O objetivo principal é adaptar o sistema para gerenciar até 6 campeonatos simultâneos (identificados por IDs de 0 a 5), garantindo que cada um opere de forma isolada. Além disso, é fundamental desenvolver um mecanismo para registrar e manter um histórico persistente do ciclo de vida de cada alerta detectado, desde sua criação até a resolução.

Objetivo: Evoluir o sistema de monitoramento de jogos para suportar múltiplos contextos (IDs de campeonatos) e implementar um ciclo de vida de notificações com persistência histórica.

1. Arquitetura de Dados (Backend - server.js)
O que o programador deve fazer:

Implementar rotas parametrizadas utilizando o padrão /:id/:recurso.

Garantir que os arquivos json sejam lidos e salvos com o sufixo do id (ex: watchlist_0.json, watchlist_1.json).

Criar um mecanismo de "Auto-inicialização": se o arquivo para um determinado ID não existir, o servidor deve criar um arquivo vazio ([] ou {}) para evitar erros de leitura.

2. Interface e UX (index.html e style.css)
O que o programador deve fazer:

Seletor de Contexto: Inserir um <select id="seletor-campeonato"> no header. A troca de opção deve resetar o estado do frontend e carregar os dados do novo ID.

Aba Histórico: Criar uma nova seção (escondida por padrão) com uma tabela de auditoria.

Filtros de Busca: Implementar campos de busca reativa (input de texto, data e status) sobre a tabela de histórico.

Semântica de Cores: Implementar classes CSS para o Ciclo de Vida:

status-notificacao (Amarelo)

status-monitoramento (Azul)

status-visualizado (Cinza)

status-ignorado (Vermelho)

3. Lógica do Scanner e Regras de Negócio (app.js)
O que o programador deve fazer:

A. Scanner Inteligente (Regra do EY):
Ao processar a string para conferência de padrões, o sistema deve olhar para o campo ey do json de resultados.

Regra Binária: Apenas 0 e 1 compõem a string de busca.

Regra de Pulo: Valores 2 (adiado), 3 (pendente) e X (cancelado) devem ser ignorados na contagem da sequência, mas mantidos na visualização para o usuário.

B. Gestão de Ciclo de Vida:
Implementar a função registrarNoHistorico(jogo, padrao, status) com a seguinte lógica:

Scanner detecta padrão: Cria registro com status "Notificação".

Clique em 'Acompanhar': Atualiza registro para status "Monitoramento".

Clique em 'Ignorar': Atualiza registro para status "Ignorado" e remove o card da tela.

Finalização: Ao sair da watchlist ou concluir o jogo, status muda para "Visualizado".

4. Segurança e Integridade
Isolamento total: Ao trocar o ID no seletor, o statusCache, a watchlist e o cache de histórico do ID anterior devem ser obrigatoriamente limpos para evitar que dados de um campeonato apareçam no outro.

Categoría Programación y Tecnología
Subcategoría Programación Web
¿Cuál es el alcance del proyecto? Cambio mediano

Plazo de Entrega: No definido

Habilidades necesarias