| Data de elaboração | 04/03/22 |
| Responsável pelo estudo | Rafael Passos dos Santos (Assessor) |
| Equipe do estudo | Gustavo Felix Gomes (Assessor), Rafael Passos dos Santos (Assessor), André Honório de Andrade Silva (Tecnico), Emanuel Rufino Alcantara de Lima (Analista), Lucas de Souza e Sousa (Estagiario), Euriane Nogueira (Product Owner) |
| Alvo | Portal do Cidadão |
| Origem | Sistemas De Notificação Portal do Cidadão |
| Objetivo | Avaliar qual a melhor solução para a criação do sistema de notificação do Portal do Cidadão, encontrar tecnologias para melhorar a notificação do servidor e em que momentos iremos disparar notificações. |
| Documentação correlata | |
| Observações | O presente estudo pretende também levantar as Historias dos cars para a Sprint |
Avaliar qual a melhor solução para a criação do sistema de notificação do Portal do Cidadão, encontrar tecnologias para melhorar a notificação do servidor e em que momentos iremos disparar notificações.
Atualmente existe o Ícone de Notificações no portal do cidadão, mas o mesmo atualmente não tem funcionamento.
Identificar qual a melhor solução para criar o sistema de notificação no Portal do Cidadão, quais histórias de usuários, débitos técnicos e possíveis impedimento podem dificultar a criação das notificações.
Atualmente o Portal do Cidadão não possui um sistema de notificação, mesmo ele tendo um Ícone na sua barra superior a funcionalidade ainda não foi desenvolvido. Sabemos que precisaremos realizar o envio de notificações para atualizar o cidadão referente as suas solicitações e agendamento. A ideia era de enviarmos notificações por PUSH, onde se o mesmo tivesse ativado as notificações ele receberá um aviso no seu Navegador ou Aparelho Móvel referente a alguma atualização das suas solicitações e agendamentos. Mas recentemente foi desenvolvido uma Spike pelo time Tambaqui referente ao Envio de Mensagens pelo WhatsApp e foi levantado também o envio de mensagem pelo WhatsApp. Durante a Ultima Review apresentada aos cliente foi sugerido também o envio dessas notificações também por E-mail caso o Usuário permite-se, então ficamos com esses três caminhos de envio para ser aplicado no Portal.
Durante um período no Portal do Servidor criamos notificações por Push API mas por problemas com a Autenticação do Sauron e de carregamentos de perfis por conflito no PWA foram removida mas essa API ainda existe. É possível reaproveitamos alguns trechos de códigos delas e melhoramos para atender todos as notificações dos Portais.
A Melhor solução para criar esse sistema de notificação seria modificar a Push API já existente sendo realizar melhorias no código da Notificação por Push, Adição da Notificação pelo WhatsApp e por E-Mail.
As notificações inicialmente serão enviadas nos seguintes momentos:
Segue abaixo as Histórias de usuários necessárias para realização da Solução acima
PUSH API
| O que? | Pontos | Regras | Produto |
| Coloca o PUSH API em ASP Net Core 5.0 ou 6.0 | 2 | Debito Técnico; Verificar com a Liderança se é possível trabalhar com ASP Net Core 6.0 | Push API |
| Consumir consulta por CPF do Pentagono | 3 | História de Usuário necessária para obter o E-mail e WhatsApp, Obter Chave na Central do Dev | Push API |
| Criar Rota e Modelagem para salvar as preferências de como o usuário deseja ser notificado | 5 | Deve conter o CPF do usuário, se o mesmo ativou o PUSH API, Se deseja receber notificação por E-mail ou WhatsApp. Deve ser possível Editar | Push API |
| Criar Rota para Iniciar a execução Notificações | 5 | Obter Agendamentos do Alpha de forma eficiente (Data), Configurar no Caveira Job o Tempo de Execução | Push API |
| Salvar Notificações quando enviar uma notificação | 3 | Criar Modelagem, Quando enviar uma Notificação salvar, cuidado para não salvar varias vezes a mesma notificação | Push API |
Notificação por PUSH
| O que? | Pontos | Regras | Produto |
Push API
Refatorar Notificações por Push 3
Debito Técnico
Trocar usuarioId por CPF
Melhorar código existente de Notificação por PUSH
Push API
Notificação por WhatsApp
O que? Pontos Regras Produto
Configurar Servidor MyZap 2.0 8
Auxilio da Liderança Técnica
My Zap
Push API
Push API
Push API
Notificação por E-mail
O que? Pontos Regras Produto
Push API
Push API
Push API
Portal do Cidadão
O que? Pontos Regras Produto
Adicionar opção de Ativar ou Desativar Notificação na Tela «Minhas Informações» 3
Salvar no Push API
Atenção ao Layout (Mobile First)
Portal do Cidadão
Realizar ajustes no PWA do Portal 2
Ajustar para atender as Notificações por PUSH
Atenção ao Layout (Mobile First)
Portal do Cidadão
Criar Tela de Notificação 5
Obter todas as notificações do usuário
Criar Rota de Obter Notificação na Push API
Atenção ao Layout (Mobile First)
Portal do Cidadão
Push API
3.4 POSSÍVEIS IMPEDIMENTOS
Um possível impedimento que pode acontecer e dificuldades no Desenvolvimento da Funcionalidade de Notificação pelo WhatsApp pois é uma tecnologia que nunca utilizamos e a mesma é feita em Node.Js uma tecnologia que nem todos os membros do Time/Code estão familiarizadas. Também existe o Fato de a MyZap API ter que ser hospedada e realizado diversas configurações antes de seu funcionamento.
Outro possível impedimento seria nas notificações por Push, atualmente a API trabalhava levando em conta o usuário do Sauron mas estamos ate o presente momento realizando a autenticação pelo GOV.BR o que gera uma demanda de trabalha e refatoração no código atual. O Certo será trabalhar com os dois pois o Portal do Servidor utiliza Sauron e o Portal do Cidadão GOV.BR.