Open diogomene15 opened 2 weeks ago
@luishscarvalho, poderia auxiliar no atendimento dessa demanda? Estarei te colocando como participante. Qualquer dúvida, fico à disposição.
Claro, @diogomene15. Estarei trabalhando com a equipe de desenvolvimento, requisitos UX para esta demanda.
O projeto atual da aplicação possui um sistema de autenticação que permite aos usuários acessarem suas contas utilizando um endereço de email e uma senha. No entanto, não há uma funcionalidade que permita a restauração de senha caso o usuário a esqueça, o que pode resultar em frustração e dificuldades de acesso para os usuários. Considerando a importância de garantir uma boa experiência do usuário e a necessidade de facilitar o acesso à aplicação, é imprescindível a implementação de um mecanismo de recuperação de senha.
A ausência de uma funcionalidade de recuperação de senha pode levar à perda de usuários, uma vez que eles podem não conseguir acessar suas contas caso esqueçam a senha. Isso não apenas afeta negativamente a experiência do usuário, mas também compromete a retenção e satisfação dos usuários com a aplicação. Além disso, muitos aplicativos modernos oferecem essa funcionalidade, tornando-a uma expectativa comum entre os usuários.
Para resolver esse problema, proponho a implementação de um fluxo de recuperação de senha na aplicação. Esse fluxo deve incluir a possibilidade de solicitar um link de redefinição de senha via email, a partir da tela de login. No arquivo
LoginFragment.java
, podemos adicionar um botão "Esqueci minha senha" que, ao ser clicado, direciona o usuário para uma tela onde ele pode inserir seu email para receber instruções de redefinição de senha.Um exemplo de código para essa funcionalidade poderia ser:
Na nova atividade,
PasswordResetActivity
, o usuário pode inserir seu email e solicitar a redefinição de senha:A lógica para enviar o email de redefinição de senha pode ser implementada em uma nova classe
EmailService
, utilizando um serviço de email para enviar o link de redefinição de senha para o email informado pelo usuário:Acho importante verificar a disposição dos pacotes existentes no projeto. O único pacote que parece ser minimamente adequado a receber classes de service e utilities da nova função é o
useCases
. Contudo, se interpretarmos o projeto a partir de uma visão de arquitetura hexagonal, dispor as classes nesse pacote pode ser conceitualmente inadequada, podendo vir a gerar, no futuro, problemas arquiteturais, com novas funcionalidades, que dependem de classes que interagem com agentes externas no pacote (possivelmente) incorreto,.Recomendo o envolvimento das equipes de UI/UX, Requisitos e Desenvolvimento para discutir e validar essa funcionalidade. A equipe de UI/UX pode criar protótipos da nova interface de recuperação de senha, garantindo que ela seja intuitiva e fácil de usar. A equipe de Requisitos deve garantir que todos os casos de uso e fluxos de usuário estejam claramente definidos. Solicito a revisão de proposta de código e arquitetura pela equipe de desenvolvimento, a fim de garantir a qualidade da implementação da função a longo prazo.