História do Usuário: Cadastro Seguro e Eficiente de Pais e Responsáveis no Aplicativo Flutter

Título: Cadastro de Usuário para Pais e Responsáveis com Recursos de Segurança no Aplicativo Flutter

Como pai ou responsável legal, desejo realizar um cadastro seguro e eficiente no aplicativo Flutter de rastreio e gerenciamento de viagens. O cadastro deve garantir que minha idade seja superior a 18 anos, incluir reconhecimento facial, identificar-me unicamente, requerer confirmação de e-mail e, após o cadastro bem-sucedido, ser direcionado para a página inicial do aplicativo.

Critérios de Aceitação:

  1. Restrição de Idade:
  2. O sistema não deve permitir que usuários informem uma idade inferior a 18 anos durante o cadastro.
  3. A validação deve ser realizada no lado do cliente e no servidor para garantir integridade.

  4. Cadastro Básico e Identificação Única:

  5. O formulário de cadastro básico deve incluir informações mínimas, como nome, número de telefone e e-mail.
  6. O sistema deve garantir que o e-mail fornecido seja único, evitando duplicatas no banco de dados.

  7. Reconhecimento Facial:

  8. Durante o processo de cadastro, deve existir uma etapa para o reconhecimento facial.
  9. O sistema deve orientar o usuário sobre a correta captura facial para uma identificação segura.

  10. Confirmação de E-mail:

  11. Após o preenchimento do formulário, o usuário deve receber um e-mail de confirmação.
  12. O e-mail de confirmação deve conter um link ou código para ativação da conta, validando a autenticidade do endereço de e-mail fornecido.

  13. Redirecionamento para a Página Inicial:

  14. Após a confirmação do e-mail, o usuário deve ser automaticamente redirecionado para a página inicial do aplicativo.
  15. O redirecionamento deve ser instantâneo para melhorar a experiência do usuário.

Notas Técnicas:

  1. Validação de Idade:
  2. Implementar uma lógica de validação no front-end para impedir que usuários menores de 18 anos avancem no processo de cadastro.
  3. Realizar uma validação adicional no lado do servidor para garantir a integridade dos dados.

  4. Identificação Única:

  5. Implementar um mecanismo de verificação para garantir a unicidade do e-mail no momento do cadastro básico.
  6. Utilizar técnicas de validação de formulários para evitar entradas duplicadas.

  7. Reconhecimento Facial:

  8. Incorporar uma biblioteca de reconhecimento facial compatível com Flutter, como a face_detection ou firebase_ml_vision.
  9. Assegurar que a iluminação e as condições ambientais sejam adequadas para uma captura facial eficiente.

  10. Confirmação de E-mail:

  11. Enviar e-mails de confirmação imediatamente após o cadastro, com informações claras sobre a ativação da conta.
  12. Criar um sistema robusto para lidar com casos de e-mails não entregues ou marcados como spam.

  13. Redirecionamento para a Página Inicial:

  14. Configurar uma rota de redirecionamento automático após a confirmação bem-sucedida do e-mail.
  15. Garantir que o redirecionamento seja implementado no lado do servidor para maior segurança.

Exemplo de Fluxo no Flutter:

  1. Cadastro Inicial:
  2. O pai ou responsável preenche o formulário básico com nome, número de telefone e e-mail.

  3. Validação de Idade:

  4. A validação impede que usuários menores de 18 anos prossigam no processo de cadastro.

  5. Reconhecimento Facial:

  6. O sistema solicita uma captura facial para verificação de identidade.

  7. Confirmação de E-mail:

  8. Após o preenchimento, o usuário recebe um e-mail de confirmação.
  9. Ao clicar no link ou inserir o código fornecido, a conta é ativada.

  10. Redirecionamento para a Página Inicial:

  11. Após a confirmação bem-sucedida, o usuário é redirecionado automaticamente para a página inicial do aplicativo, pronto para usar todas as funcionalidades disponíveis.