Histórias de Usuário¶
Backlog de histórias de usuário do EdTech, escritas no formato padrão e rastreáveis aos requisitos funcionais e personas.
Formato¶
Padrão de escrita
Como [persona], quero [ação], para que [benefício].
Cada história inclui critérios de aceitação verificáveis.
Épico 1 — Autenticação¶
US01 — Cadastro de pesquisador¶
Como pesquisadora, quero me cadastrar com meu e-mail institucional, para que eu tenha acesso ao sistema de forma segura.
Critérios de Aceitação
-
O formulário exige nome, e-mail e senha
-
A senha é armazenada com hash BCrypt
-
E-mails duplicados são rejeitados com mensagem clara
-
Apenas e-mails
@instituicao.edu.brsão aceitos
Rastreabilidade: RF01, RF06 · Persona: Ana · Sprint: 2
US02 — Login seguro¶
Como usuário cadastrado, quero fazer login com e-mail e senha, para que eu receba um token de sessão seguro.
Critérios de Aceitação
- O login retorna um JWT em cookie
HttpOnly+Secure -
Credenciais inválidas retornam mensagem genérica
-
Login bem-sucedido gera log
LOGIN_SUCCESS - Login falho gera log
LOGIN_FAILED
Rastreabilidade: RF02, RF18 · Persona: Todos · Sprint: 2
US03 — Logout¶
Como usuário autenticado, quero fazer logout, para que minha sessão seja encerrada e o cookie invalidado.
Critérios de Aceitação
-
O cookie é removido ou expirado
-
Requisições subsequentes retornam
401 - O logout gera log
LOGOUT
Rastreabilidade: RF03, RF18 · Persona: Todos · Sprint: 2
US10 — Configuração e Uso de 2FA¶
Como usuário preocupado com segurança, quero habilitar e usar autenticação em duas etapas (2FA), para que minha conta fique protegida mesmo em caso de vazamento de senha.
Critérios de Aceitação
- O usuário pode ativar o 2FA via configurações de perfil com um app Authenticator.
- O login exige o código TOTP de 6 dígitos se ativado.
- Códigos inválidos impedem o acesso à plataforma.
Rastreabilidade: RF23 · Persona: Todos · Sprint: 7
Épico 2 — Documentos¶
US04 — Upload de artigo¶
Como pesquisadora, quero fazer upload de um artigo em PDF, para que ele fique armazenado de forma segura no repositório.
Critérios de Aceitação
-
Aceita arquivos PDF de até 50 MB
-
O arquivo é salvo no Google Cloud Storage
-
Os metadados são salvos no PostgreSQL com
author_id - O status inicial é
draft - O upload gera log
UPLOAD_SUCCESS
Rastreabilidade: RF07, RF08, RF09, RF19 · Persona: Ana · Sprint: 3
US05 — Listagem de documentos¶
Como pesquisadora, quero ver uma lista dos meus documentos, para que eu possa gerenciar meus rascunhos e submissões.
Critérios de Aceitação
- A lista é filtrada por
author_id = user.id -
Exibe título, tipo, status e data de upload
-
Pesquisador não vê documentos de outros autores
-
Resposta da API em < 500ms (p95)
Rastreabilidade: RF10, RNF02.1 · Persona: Ana · Sprint: 3
US06 — Download de documento¶
Como pesquisadora, quero baixar meus documentos, para que eu possa acessá-los offline.
Critérios de Aceitação
-
Apenas o autor ou orientador vinculado pode baixar
-
O download gera log de auditoria
-
O arquivo é servido diretamente do GCS
Rastreabilidade: RF11, RF19 · Persona: Ana · Sprint: 3
Épico 3 — Orientador¶
US07 — Painel do orientador¶
Como orientador, quero visualizar todos os projetos que supervisiono, para que eu acompanhe o progresso dos meus orientandos.
Critérios de Aceitação
- Lista projetos onde
project_members.user_id = orientador.id -
Exibe contagem de documentos por projeto
-
Não exibe projetos de outros orientadores
Rastreabilidade: RF14, RF16 · Persona: Carlos · Sprint: 4
US08 — Visualização de documentos do orientando¶
Como orientador, quero ver os documentos dos pesquisadores vinculados, para que eu possa revisá-los e dar feedback.
Critérios de Aceitação
-
Exibe documentos de todos os membros do projeto
-
Permite visualização inline ou download
-
Filtra por
project_memberspara garantir isolamento
Rastreabilidade: RF15, RF16 · Persona: Carlos · Sprint: 4
Épico 4 — Auditoria¶
US09 — Consulta de logs¶
Como auditora, quero consultar os logs de auditoria com filtros, para que eu possa investigar ações específicas no sistema.
Critérios de Aceitação
-
Filtros por ação, data, usuário e recurso
-
Exibe IP, user-agent e timestamp
-
Logs são imutáveis (sem UPDATE/DELETE)
Rastreabilidade: RF21, RNF03.2 · Persona: Márcia · Sprint: 5
US11 — Exportação de Relatórios de Auditoria¶
Como auditora, quero exportar a trilha de auditoria em CSV, para que eu possa processar e reportar os logs externamente.
Critérios de Aceitação
- Botão de exportação visível e acessível na tela de auditoria.
- Gera um arquivo CSV com as mesmas filtragens aplicadas na tela.
- Proteção para download apenas por usuários com perfil AUDITOR.
Rastreabilidade: RF22 · Persona: Márcia · Sprint: 7
Resumo do Backlog¶
| Épico | Histórias | Concluídas | Em andamento | Pendentes |
|---|---|---|---|---|
| Autenticação | 4 | 4 | 0 | 0 |
| Documentos | 3 | 3 | 0 | 0 |
| Orientador | 2 | 2 | 0 | 0 |
| Auditoria | 2 | 2 | 0 | 0 |
| Total | 11 | 11 | 0 | 0 |
Histórico de Versões¶
| Versão | Data | Descrição | Autor |
|---|---|---|---|
1.0 |
29/05/2026 | Criação do documento | Pedro Henrique P. Santos |
1.1 |
13/06/2026 | Revisão técnica e reestruturação da documentação | Pedro Henrique P. Santos |
1.2 |
04/07/2026 | Revisão profunda, correção de metadados e melhorias visuais | Pedro Henrique P. Santos |
1.3 |
11/07/2026 | Inclusão das histórias US10 (2FA) e US11 (CSV Auditoria) | Pedro Henrique P. Santos |