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.