Ir para o conteúdo principal

Vingadores - [Alpha] Integração com o GOV.DOC

 OBJETIVO

AvaliarLevantar qualas a melhor soluçãohistórias para a criaçintegração do sistemaAlpha decom notificação do Portal do Cidadão, encontrar tecnologias para melhorar a notificação do servidor e em que momentos iremos disparar notificações.GOV.DOC

JUSTIFICATIVA

Atualmente existe o Ícone de Notificações no portal mas o mesmo atualmenteAlpha não temutiliza funcionamento.o GOV.DOC para a criação de documentos para os solicitantes.

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çintegração dascom notificações.o GOV.DOC.

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)

1. CENÁRIO ATUAL
-

Atualmente

Acompanhamento da solicitação e conclusão da solicitação.

O atendente cria o Portalacompanhamento/conclusão, na tela de acompanhamento/conclusão há dois campos

1) Comentário (obrigatório)

2) Anexo (opcional)

O Gov.Doc é consumido através de uma API, na qual os documentos são criados e consultados. Além disso, há a possibilidade de assinar os documentos.

Lista de funcionalidades do CidadãoGov.Doc:

não
    possui
  • API umGov.doc; sistema
    • API que contem:
      • Criar documento;
      • Editar documento;
      • Excluir documento;
      • Arquivar documento;
      • Criar bloco de notificação,assinaturas;
      • mesmo
      • Incluir eledocumentos tendoem umbloco;
      • Ícone
      • Disponibilizar na sua barra superior a funcionalidade ainda não foi desenvolvido. Sabemos que precisaremos realizar o enviobloco de notificaçõesassinatura;
      • para
      • Retornar atualizar o cidadão referente as suas solicitações e agendamento. A ideia erabloco de enviarmosassinaturas;
      • 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.

2. SOLUÇÃO

A MelhorNa solução paraproposta, criar esse sistema de notificação seriaanexo modificarque a Push API já existente sendo realizar melhoriasestá no código da Notificação por Push, Adiçãacompanhamento/conclusão da Notificaçsolicitação será substituído pelo WhatsAppdocumento ecriado porpelo E-Mail.gov.doc.

AsPara notificaçõesisso, inicialmenteé necessário criar os tipos de documentos que serão enviadasdisponibilizados nospelo seguintes momentos:alpha.

-Após Notificarcriar o Cidadãodocumento, umé dianecessário antes sobrecontrolar o agendamento.
-status Notificardo documento. Só será possível enviar o Cidadãacompanhamento ou conclusão noapós diaa sobreassinatura odo agendamento.
- Notificar o Cidadão que o mesmo precisa avaliar o atendimento.documento.

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
- ColocaIntegração do Alpha solicitacoes API com o PUSH API em ASP Net Core 5.0 ou 6.0GOV.DOC 25

- Debito Técnico

- Verificar com a Liderança se é possível trabalhar com ASP Net Core 6.0

PushAlpha solicitacoes API

- ConsumirAlterar consultaa pormodelagem CPFda tabela acompanhamento para incluir o ID e o status do Pentagonodocumento do gov.doc 3

- HistóriaDebito de Usuário necessária para obter o E-mail e WhatsApp

- Obter Chave na Central do DevTécnico

PushAlpha solicitacoes 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?PontosRegrasProduto
- Criar Mensagens para as Notificações por PUSH3

- 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.

Push API

- Refatorar Notificações por Push3

- Debito Técnico

- Trocar usuarioId por CPF

- Melhorar código existente de Notificação por PUSH

Push API

Notificação por WhatsApp

O que?PontosRegrasProduto
- Configurar Servidor MyZap 2.08

- Auxilio da Liderança Técnica

- https://www.youtube.com/watch?v=sTMtev62vUE

- https://github.com/billbarsch/myzap

My Zap

Push API

- Consumir MyZap na PushAPI3

- Criar Chamada para Envio de Mensagem

Push API

- Criar Mensagens para as Notificações por WhatsApp3

- 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.

Push API

Notificação por E-mail

O que?PontosRegrasProduto
- Consumir serviço de E-mail3

- Consumir Serviço de E-mail

Push API

- Criar Corpo Base do E-mail2

- Criar Corpo do E-mail em HTML com Cabeçalho, e Rodapé.

Push API

- Criar Mensagens para as Notificações por E-mail3

- 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.

Push API

Portal do Cidadão

O que?PontosRegrasProduto
- 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 Portal2

- Ajustar para atender as Notificações por PUSH

- Atenção ao Layout (Mobile First)

Portal do Cidadão

- Criar Tela de Notificação5

- 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çMigração pelodos WhatsAppdocumentos 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.atuais.

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.