Vingadores - [Alpha] Integração com o GOV.DOC
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.
JUSTIFICATIVA
Atualmente existe o Ícone de Notificações no portal mas o mesmo atualmente não tem funcionamento.
RESULTADOS DA PESQUISA
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.
ENVOLVIDOS:
Gustavo Felix Gomes (DEV Team)
Rafael Passos dos Santos (DEV Team)
Emanuel Rufino Alcantara de Lima (DEV Team)
Lucas de Souza e Sousa (DEV Team)
André Honório (DEV Team)
Euriane Nogueira Frota (Product Owner)
Edson Masami Hiraçaka (Scrum Master)
Lucas Tavares Viana de Souza (Estagiário Scrum Master)
2. SOLUÇÃO
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:
- 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.
3. HISTÓRIAS DE USUÁRIO
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 |
- 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. |
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 |
- Consumir MyZap na PushAPI | 3 |
- Criar Chamada para Envio de Mensagem |
Push API |
- 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. |
Push API |
Notificação por E-mail
O que? | Pontos | Regras | Produto |
- Consumir serviço de E-mail | 3 |
- Consumir Serviço de E-mail |
Push API |
- Criar Corpo Base do E-mail | 2 |
- Criar Corpo do E-mail em HTML com Cabeçalho, e Rodapé. |
Push API |
- 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. |
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 |
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.
CONCLUSÃO
Fica concluído que com a quantidade de histórias de usuários o sistema de notificação do Portal e bem grande e tem partes bem complexas outras não tão complexas. O mesmo pode ser implementado em partes onde se realizar notificações por menos canais ate chegar aos três canais sugeridos.