Desenvolver uma automação em
Node.js para monitorar duplicatas vencidas em um banco de dados PostgreSQL e enviar um e-mail diário ao usuário responsável pelo lançamento da duplicata. O e-mail deve conter informações detalhadas da duplicata em atraso.
Funcionalidades do Sistema
1. Conexão com Banco de Dados PostgreSQL
◦ Estabelecer uma conexão com um banco de dados PostgreSQL para buscar informações sobre duplicatas.
◦ Acessar dados específicos sobre duplicatas vencidas, incluindo campos como:
▪ ID da duplicata
▪ Data de vencimento
▪ Valor
▪ Nome do responsável pelo lançamento
▪ E-mail do responsável
2. Consulta de Duplicatas Vencidas
◦ Desenvolver uma consulta SQL que busca duplicatas vencidas (em atraso) no banco de dados.
◦ A consulta deve:
▪ Filtrar duplicatas cuja data de vencimento seja anterior à data atual.
▪ Retornar informações relevantes sobre a duplicata para serem incluídas no e-mail.
3. Envio de E-mails Automático
◦ Configurar um serviço de e-mail para envio automático de notificações.
◦ No e-mail, incluir:
▪ Dados da duplicata em atraso (ID, data de vencimento, valor, etc.)
▪ Nome e contato do responsável pelo lançamento
◦ O e-mail deve ser enviado uma vez ao dia para o responsável de cada duplicata em atraso.
4. Agendamento de Tarefa Diária
◦ Implementar uma rotina de agendamento diário usando uma biblioteca de agendamento (como node-cron) para que a verificação de duplicatas e o envio dos e-mails ocorram automaticamente uma vez ao dia.
◦ O horário do envio diário deve ser configurável.
Requisitos Técnicos
1. Tecnologias Necessárias
◦
Node.js para desenvolvimento do serviço backend.
◦ PostgreSQL como banco de dados para consultar duplicatas.
◦ Nodemailer ou similar para envio de e-mails.
◦ Node-cron para agendamento das tarefas diárias.
2. Configuração e Ambiente
◦ Variáveis de ambiente para configuração do banco de dados (URL, usuário, senha, etc.).
◦ Variáveis de ambiente para configuração do serviço de e-mail (host, porta, credenciais).
◦ Configuração de horário para o agendamento do envio dos e-mails.
3. Documentação
◦ Documentar o código e criar um manual de instruções para configuração inicial do sistema e das variáveis de ambiente.
◦ Instruções sobre como rodar o sistema e ajustar o horário de envio diário, caso necessário.
Delivery term: Not specified