Home | Sprints | Requisitos | Processos | Arquitetura | Configuração | Mockups | Banco de Dados | Git |
---|
📋 User Stories - Plataforma de Treinamento
Cadastro e Autenticação
Como usuário, quero me cadastrar no sistema, para criar uma conta na aplicação.
Critérios de Aceitação:
- Deverá ter a opção dos perfis SOU VOLUNTÁRIO ou QUERO AJUDA como ponto inicial do processo.
- Para ambos os perfis, os seguintes campos devem ser obrigatórios: NOME, SEXO, IDADE, REGIÃO, TELEFONE, EMAIL e SENHA.
- Todos os campos devem ser validados (exceto o campo NOME).
- O sistema deve possuir a opção de voltar à página anterior.
- Após o processo, o usuário deve ser redirecionado para a página de login.
Como usuário, quero realizar um cadastro para ter acesso ao conteúdo.
Critérios de Aceitação:
- Criar endpoint para registro de usuário.
- Validar unicidade do e-mail cadastrado.
Casos de Teste:
- Cadastro válido com todos os dados corretos.
- Cadastro com e-mail já existente (mensagem de erro).
- Cadastro com campos obrigatórios vazios (validação).
Como usuário cadastrado, quero fazer login na plataforma informando usuário e senha para acessar as sessões de treinamento.
Critérios de Aceitação:
- Formulário simples (e-mail e senha).
- Feedback claro em caso de falha.
- Criar interface de login.
- Exibir erros e sucesso na autenticação.
Casos de Teste:
- Login válido com credenciais corretas (retorna token).
- Login com senha incorreta (mensagem de erro).
- Login com usuário inexistente (mensagem de erro).
- Login com campos obrigatórios vazios (validação).
Como usuário cadastrado, quero recuperar meu acesso caso esqueça minhas credenciais para continuar meu treinamento sem perder progresso.
Critérios de Aceitação:
- Criar endpoint para solicitação de recuperação de senha.
- Enviar e-mail com link/token para redefinição de senha.
- Criar endpoint para redefinição de senha usando o token enviado.
- Validar expiração do token de recuperação.
- Exigir nova senha no momento da redefinição.
Casos de Teste:
- Recuperação de senha com e-mail válido (e-mail enviado).
- E-mail não cadastrado (mensagem de erro).
- Redefinição de senha com token válido (sucesso).
- Token expirado (mensagem de erro).
- Senha fraca (validação).
- Redefinição sem nova senha (mensagem de erro).
Como novo usuário, quero confirmar que compreendo que a plataforma não substitui atendimento psicológico ou psiquiátrico.
Critérios de Aceitação:
- Exibir termo de consentimento antes do primeiro acesso.
- Exigir aceite do termo para prosseguir.
- Permitir acesso aos termos posteriormente.
Casos de Teste:
- Exibição do termo de consentimento no primeiro acesso.
- Aceite do termo permite prosseguir.
- Bloqueio e exibição de mensagem ao tentar seguir sem aceitar.
- Visualizar os termos após o aceite.
Acesso ao Conteúdo
Como usuário logado, quero visualizar as habilidades disponíveis para mim, para que eu possa iniciar o treinamento.
Critérios de Aceitação:
- Criar um endpoint para listar as habilidades de treinamento disponíveis para o usuário.
- Permitir que o usuário acesse apenas as habilidades liberadas para seu perfil.
- Exibir detalhes da habilidade (as sessões) de treinamento ao acessá-la.
- Registrar o progresso do usuário na habilidade.
- Permitir acesso à página principal somente estando logado.
Casos de Teste:
- Listagem de habilidades disponíveis para um usuário logado.
- Tentativa de acesso a uma habilidade bloqueada (mensagem de erro).
- Acesso bem-sucedido a uma habilidade disponível.
- Registro do progresso ao iniciar uma habilidade.
Como usuário logado, quero visualizar as sessões disponíveis para mim, para que eu possa iniciar o treinamento.
Critérios de Aceitação:
- Criar um endpoint para listar as sessões de treinamento disponíveis para o usuário.
- Permitir que o usuário acesse apenas as sessões liberadas para seu perfil.
- Exibir as sessões de treinamento ao acessar a habilidade.
- Registrar o progresso do usuário na habilidade.
Casos de Teste:
- Listagem de sessões disponíveis para um usuário logado.
- Tentativa de acesso a uma sessão bloqueada (mensagem de erro).
- Acesso bem-sucedido a uma sessão disponível.
- Registro do progresso ao finalizar uma sessão.
Como usuário logado, quero assistir aos vídeos de cada sessão, para aprender o conteúdo de forma interativa.
Critérios de Aceitação:
- Criar um endpoint (geral) para exibir os vídeos das sessões disponíveis.
- Permitir a reprodução dos vídeos diretamente na plataforma.
Casos de Teste:
- Reprodução de vídeo de uma sessão disponível.
Como usuário logado, quero ouvir os áudios de cada sessão, para reforçar o conteúdo do treinamento.
Critérios de Aceitação:
- Criar um endpoint para exibir e reproduzir os áudios das sessões disponíveis.
- Permitir a reprodução dos áudios diretamente na plataforma.
Casos de Teste:
- Reprodução de áudio de uma sessão disponível.
Como usuário logado, quero acessar os textos explicativos de cada sessão, para compreender melhor o conteúdo.
Critérios de Aceitação:
- Criar um endpoint (geral) para disponibilizar os textos explicativos das sessões.
- Permitir que o usuário visualize os textos diretamente na plataforma.
Casos de Teste:
- Acesso bem-sucedido a um texto de uma sessão disponível.
- Exibição correta do conteúdo textual na interface da plataforma.
Como usuário logado, quero escrever a solução para os exercícios de cada sessão, para responder às perguntas do treinamento.
Critérios de Aceitação:
- Criar um endpoint (geral) para exibir os exercícios das sessões disponíveis.
- Criar um endpoint para salvar a resposta do usuário.
- Permitir realizar a escrita dos exercícios diretamente na plataforma.
Casos de Teste:
- Exibição dos exercícios de uma sessão disponível.
- Limitação de caracteres mínimo e máximo.
Como usuário logado, quero seguir o fluxo pré-definido do treinamento, desbloqueando sessões/habilidades somente ao concluir a anterior.
Critérios de Aceitação:
- Criar um sistema de controle de progresso para desbloquear sessões/habilidades após a conclusão da anterior.
- Exibir apenas as sessões/habilidades disponíveis para o usuário, desativando as ainda bloqueadas.
- Registrar o status de conclusão de cada sessão/habilidade.
- Garantir que o usuário não possa acessar sessões/habilidades fora da sequência pré-definida.
Casos de Teste:
- Usuário conclui uma sessão/habilidade e a próxima é desbloqueada automaticamente.
- Tentativa de acessar uma sessão/habilidade bloqueada antes de concluir a anterior (mensagem de erro).
- Exibição correta das sessões/habilidades disponíveis e bloqueadas na interface.
- Registro correto do status de conclusão ao finalizar uma sessão/habilidade.
- Tentativa de acessar uma sessão/habilidade concluída anteriormente (acesso permitido).
Como usuário logado, quero poder revisar sessões/habilidades já concluídas, para reforçar o aprendizado sem alterar meu progresso.
Critérios de Aceitação:
- Permitir que o usuário acesse livremente qualquer sessão/habilidade já concluída.
- Garantir que a revisão não altere o status de progresso.
- Manter o registro da sessão/habilidade mais avançada desbloqueada.
- Exibir corretamente o conteúdo das sessões/habilidades revisadas.
Casos de Teste:
- Acesso bem-sucedido a uma sessão concluída anteriormente.
- Tentativa de revisar uma sessão ainda bloqueada (mensagem de erro).
- Confirmação de que o progresso não é alterado ao revisar uma sessão.
- Exibição correta dos conteúdos das sessões revisadas.
- Tentativa de acessar uma sessão revisada e prosseguir normalmente no treinamento.
Como usuário logado, quero ter acesso ao plano de ação, para aplicar as técnicas aprendidas no meu dia a dia.
Critérios de Aceitação:
- Criar um endpoint para disponibilizar o plano de ação ao usuário.
- Garantir que apenas usuários autenticados possam visualizar o plano de ação.
- Exibir o plano de ação de forma clara e acessível na plataforma.
- Permitir que o usuário revise o plano de ação sempre que necessário.
Casos de Teste:
- Acesso bem-sucedido ao plano de ação por um usuário logado.
- Exibição correta do conteúdo do plano de ação na interface.
- Possibilidade de revisar o plano de ação a qualquer momento.
- Verificação de que o plano de ação está atualizado conforme o progresso do usuário.
Métricas e Progresso
Como usuário logado, quero ver uma régua de progresso indicando meu avanço nas sessões, para saber quanto já completei do treinamento.
Critérios de Aceitação:
- Criar um mecanismo para calcular e exibir o progresso do usuário com base nas sessões concluídas.
- Exibir uma régua de progresso visual indicando o percentual de conclusão do treinamento.
- Atualizar a régua de progresso automaticamente conforme novas sessões são concluídas.
- Garantir que o progresso seja salvo corretamente para cada usuário.
Casos de Teste:
- Exibição correta da régua de progresso ao acessar a plataforma.
- Atualização do progresso ao concluir uma sessão.
- Exibição do progresso correto ao reabrir a plataforma após uma sessão concluída.
- Verificação de que o percentual de progresso corresponde ao número de sessões concluídas.
Como usuário logado, quero receber uma confirmação ao concluir uma sessão de uma habilidade, para acompanhar meu progresso e me motivar a seguir para a próxima etapa.
Critérios de Aceitação:
- Exibir uma mensagem de confirmação ao finalizar uma sessão.
- Atualizar o progresso do usuário após a conclusão da sessão.
- Desbloquear automaticamente a próxima sessão/habilidade, se aplicável.
- Garantir que a confirmação seja registrada no sistema.
Casos de Teste:
- Exibição de mensagem de conclusão ao finalizar uma sessão.
- Atualização correta do progresso após a confirmação.
- Desbloqueio da próxima sessão após a conclusão da anterior (se aplicável).
- Tentativa de finalizar uma sessão sem completar os requisitos (mensagem de erro).
Notificações e Lembretes
Como usuário logado, quero receber notificações por e-mail, para ser lembrado de continuar meu treinamento.
Critérios de Aceitação:
- Criar um sistema de envio automático de e-mails para lembrar o usuário de continuar o treinamento.
- Definir uma frequência adequada para os lembretes (exemplo: diária, semanal, personalizada).
- Permitir que o usuário ative ou desative os lembretes conforme sua preferência.
- Garantir que os e-mails contenham informações relevantes sobre o progresso e as próximas sessões.
Casos de Teste:
- Envio de lembrete por e-mail para usuários inativos por um período determinado.
- Tentativa de envio de e-mail para um usuário sem progresso registrado (não enviar).
- Possibilidade de ativar ou desativar lembretes nas configurações do usuário.
- Verificação de que o conteúdo do e-mail está correto e personalizado para cada usuário.
- Garantia de que o e-mail não é enviado para usuários que já concluíram o treinamento.