| Data de elaboração | 04/03/2022 |
| 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 |
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.
As notificações inicialmente serão enviadas nos seguintes momentos:
| O que? | Pontos | Regras |
|---|---|---|
| - 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 |
| - 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 |
| - 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 |
| - 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 |
| - 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 |
| O que? | Pontos | Regras |
|---|---|---|
| - Criar Mensagens para as Notificações por PUSH | 3 | - Criar Mensagem para cada Notificação Abaixo: * Notificar o Cidadão um dia antes sobre o agendamento. * Notificar o Cidadão no dia sobre o agendamento. * Notificar o Cidadão que o mesmo precisa avaliar o atendimento. |
| - Refatorar Notificações por Push | 3 | - Debito Técnico - Trocar usuarioId por CPF - Melhorar código existente de Notificação por PUSH |
| O que? | Pontos | Regras |
|---|---|---|
| - Configurar Servidor MyZap 2.0 | 8 | - Auxilio da Liderança Técnica - https://www.youtube.com/watch?v=sTMtev62vUE - https://github.com/billbarsch/myzap |
| - Consumir MyZap na PushAPI | 3 | - Criar Chamada para Envio de Mensagem |
| - Criar Mensagens para as Notificações por WhatsApp | 3 | - Criar Mensagem para cada Notificação Abaixo: * Notificar o Cidadão um dia antes sobre o agendamento. * Notificar o Cidadão no dia sobre o agendamento. * Notificar o Cidadão que o mesmo precisa avaliar o atendimento. |
| O que? | Pontos | Regras |
|---|---|---|
| - Consumir serviço de E-mail | 3 | - Consumir Serviço de E-mail |
| - Criar Corpo Base do E-mail | 2 | - Criar Corpo do E-mail em HTML com Cabeçalho, e Rodapé. |
| - Criar Mensagens para as Notificações por E-mail | 3 | - Criar Mensagem para cada Notificação Abaixo: * Notificar o Cidadão um dia antes sobre o agendamento. * Notificar o Cidadão no dia sobre o agendamento. * Notificar o Cidadão que o mesmo precisa avaliar o atendimento. |
| O que? | Pontos | Regras |
| - 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) |
| - Realizar ajustes no PWA do Portal | 2 | - Ajustar para atender as Notificações por PUSH - Atenção ao Layout (Mobile First) |
| - 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) |
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.