Épico Detalhado - Resposta de Feedback
User View
COMO um avaliador EU QUERO responder uma solicitação de feedback de um colaborador PARA QUE contribuir com a evolução de seu trabalho
Business Narrative
A funcionalidade deve permitir que avaliadores convidados respondam formulários de feedback anonimamente, garantindo que colaboradores internos não possam dar feedback.
Screen Flow
LOGIN
- O avaliador insere seu e-mail.
- O avaliador clica no botão “Login”.
- O sistema valida se o usuário é um avaliador convidado.
- Se não, exibe uma mensagem de erro.
- Se sim, um novo campo é exibido para que o avaliador informe o código de acesso.
- O avaliador recebe por e-mail o código de acesso gerado pelo sistema
- O avaliador informa o código.
- O código é validado pelo sistema.
- Se correto, o avaliador é direcionado para o formulário.
- Se não correto, exibe uma mensagem de erro.
RESPOSTA DE FEEDBACK
- O sistema verifica se o formulário está dentro do prazo a ser respondido.
- Se não estiver, exibe uma mensagem informando que o prazo expirou.
- O avaliador acessa o formulário contendo todas as perguntas cadastradas pelo colaborador.
- O avaliador preenche o formulário.
- Se sinalizar que “não sabe avaliar”, o campo de resposta é desabilitado.
- O avaliador clica no botão "Salvar rascunho" caso queira terminar o preenchimento mais tarde.
- O avaliador clica no botão "Finalizar avaliação".
- O sistema exibe uma mensagem de confirmação: "Obrigado pelo seu feedback!"
- Se for o último avaliador a responder, o status do formulário é alterado para “finalizado” e o colaborador deve receber uma notificação por e-mail.
Non-Functional Requirements
-
Acceptance Criteria
- O sistema deve permitir que apenas clientes externos indicados pelo colaborador forneçam feedback.
- O sistema deve armazenar o feedback associado ao colaborador que solicitou.
- O sistema deve exibir uma mensagem de confirmação após o envio do feedback.
- Antes de ser respondido o questionário o sistema deve validar se o mesmo se encontra dentro do período de validade (3 meses a partir da data de aprovação do PDM.)
Visão das histórias
1. Validar Avaliador (Login)
- Desenvolver o endpoint de Login para receber o e-mail do avaliador.
- Implementar a lógica de validação do e-mail para verificar se é um avaliador convidado.
- Gerar e enviar um código de acesso único por e-mail para o avaliador.
- Desenvolver o endpoint para receber o código de acesso e validá-lo.
- Implementar a lógica para direcionar o avaliador para o formulário se o código for válido, ou exibir mensagem de erro caso contrário.
- Garantir que e-mails de domínio
@ciandt.com.brsejam rejeitados no processo de login, reforçando que apenas avaliadores externos podem responder.
2. Exibir Formulário de Resposta de Feedback
- Desenvolver o endpoint para buscar o formulário de feedback com base no hash recebido.
- Implementar a validação de prazo: verificar se o formulário está dentro dos 3 meses a partir da data de aprovação do PDM.
- Exibir uma mensagem de erro clara se o prazo tiver expirado.
- Desenvolver a interface de usuário para renderizar as perguntas personalizadas do colaborador.
- Implementar a funcionalidade para desabilitar o campo de resposta caso o avaliador sinalize “não sabe avaliar”.
3. Salvar Respostas do Feedback
- Desenvolver o endpoint para salvar as respostas do feedback (como rascunho ou finalizadas).
- Persistir as respostas do avaliador no banco de dados, associando-as ao formulário e ao colaborador.
- Implementar a lógica para o botão "Salvar rascunho", permitindo que o avaliador retome o preenchimento mais tarde.
- Implementar a lógica para o botão "Finalizar avaliação", validando que todas as perguntas obrigatórias foram respondidas ou sinalizadas como "não sabe avaliar".
- Exibir a mensagem de confirmação "Obrigado pelo seu feedback!" após a finalização.
4. Notificar Colaborador sobre Feedback Respondido
- Implementar a lógica para verificar se o avaliador que acabou de responder é o último avaliador pendente para aquele formulário.
- Atualizar o status do formulário para “finalizado” se todas as respostas forem recebidas.
- Desenvolver e enviar um e-mail de notificação ao colaborador quando o status do formulário for alterado para “finalizado”.