Engenharia-de-Software-UFRPE / lanterna-verde

Lanterna verde é um sistema de avaliação do nível de práticas de greenwashing de uma organização ou produto.
2 stars 5 forks source link

Popup e funcionalidade das Notificações #72

Closed Koda-ms closed 2 years ago

Koda-ms commented 2 years ago

Nessa Pull Request é implementada a funcionalidade na requisição de Notificações ao back-end para exibição no front-end.

Problema

Apesar dos objetivos mencionados na última parte dessa descrição serem alcançados, uma única questão encontrada é não conseguir fazer com que ao clicar em uam notificação, o Administrador seja redirecionado para o assunto em específico. Por exemplo: caso ele clique em uma notificação sobre Solicitação de Análise, o mesmo deveria ser redirecionado para o card das solicitações. E, caso ele clique em uma notificação sobre um relatório finalizado, ele deveria ser redirecionado para o card de Histórico de Análise. Entretanto isso não ocorre.

Caso tenha notado, eu mencionei "card" e não "tela", pois é exatamente aquilo que temos na tela geral do Adm. Dispomos de 1 única tela que possui cards em si, como no Gmail. Logo, tentei lgumas solução que levasse em cosideração o card específico, porém, aparentemente, não é possível, pois não há uma rota própria para ele.

Implementação

Nessa PR, tem-se a criação do Popup de Notificações. Este recebe todas as notificações existentes no back-end. A implementação foi dada da seguinte forma:

  1. Uma requisição GET foi feita para obter a lista de notificações;
  2. Após isso, foi realizado um map para poder exibí-las apropriadamente;
  3. Houve a criação de um dot para identificar caso haja uma nova notificação e este exibe a quantidade das notificações não lidas;
  4. Para isso, outra requisição foi feita POST, para setar no back as notificações já visualizadas (boolean);
  5. Por fim, o número no dot é decrementado de acordo com os cliques dados nas notificações (sendo esses responsáveis pelo passo 4).

Como Testar

Passo a passo:

  1. Esteja com o back e front rodando ao mesmo tempo;
  2. Logue no site com as credenciais de Administrador;
  3. Acesse o Postman;
  4. Faça uma requisição POST para http://localhost:8000/login com as credenciais de uma empresa;
  5. Após obter sucesso na autenticação, faça outra requisição POST para http://localhost:8000/solicitacoesAnalise/add sem passar nenhuma informação JSON;
  6. Volte para o perfil do Administrador e atualize a página;
  7. Verifique o dot no ícone do sininho na NavBar e clique nele;
  8. O popup abrirá contendo a notificação de uma análise solicitada pela empresa logada anteriormente;
  9. Ao clicar em qualquer outro canto da tela, o popup fecha e o dot desaparece do sininho.

O mesmo vale para quando for uma notificação de "Análise finalizada".

Objetivos

Implementar a funcionalidade das Notificações e integrar front-back de acordo com as seguintes histórias de usuários:

Koda-ms commented 2 years ago

@Koda-ms, verifiquei que essa Pull Request resolve o problema #71, posso confirmar a resolução desse problema?

Na verdade, ela resolve em tese. Se você reparar no header da solicitação é mostrado o seguinte: ID Empresa: x (x é um número qualquer que representa o ID de uma empresa). Porém, gostaríamos que o nome da empresa fosse mostrado, só que se fizermos isso a tela entra em bug. Então, essa PR não resolve 100% o problema para o que queremos.