Descrição: Permite que novos usuários criem uma conta.
Atores: Usuário
Fluxo Principal:
- Usuário fornece nome, email e senha.
- Backend valida e salva no banco (users).
- Resultado esperado: Conta criada com sucesso.
Descrição: Usuário faz login com email e senha para acessar o sistema.
Atores: Usuário
Fluxo Principal:
- Verifica email/senha.
- Gera JWT após autenticação.
- Resultado esperado: Token JWT válido retornado.
Descrição: Usuário pode organizar seus gastos por categoria (ex: "Alimentação", "Transporte").
Atores: Usuário autenticado
Fluxo Principal: Envia nome da categoria.
Categoria é salva com o user_id.
Validações:
- Nome único por usuário
Resultado esperado: Categoria adicionada.
Descrição: Usuário adiciona uma nova despesa.
Atores: Usuário autenticado
Fluxo Principal:
Informa valor, categoria (opcional), descrição, data.
É salva com user_id, category_id, amount, etc.
Validações:
Valor maior do que zero
Resultado esperado: Despesa registrada.
Descrição: Mostra histórico de gastos do usuário.
Atores: Usuário autenticado
Fluxo Principal:
Busca todas as despesas de um user_id
Pode ser filtrado por data, categoria, valor mínimo/máximo
Resultado esperado: Lista de despesas.
Descrição: Usuário atualiza uma despesa já registrada.
Atores: Usuário autenticado
Fluxo Principal:
Verifica se a despesa pertence ao usuário
Permite editar valor, descrição, data ou categoria
Resultado esperado: Despesa atualizada.
Descrição: Remove uma despesa do histórico.
Atores: Usuário autenticado
Fluxo Principal:
Verifica se pertence ao user_id (se sim) : Remove do banco
Resultado esperado: Despesa excluída.
Descrição: Exibe estatísticas mensais ou semanais de gastos.
Atores: Usuário autenticado
Fluxo Principal:
Agrega despesas por mês/categoria
Exibe totais, médias, gráficos
Resultado esperado: Dashboard informativo.
Descrição: Ajuda o usuário a encontrar gastos específicos.
Atores: Usuário autenticado
Fluxo Principal:
Informa filtros (ex: category_id, expense_date)
Backend retorna despesas filtradas
Resultado esperado: Lista refinada.
Descrição: Usuário remove permanentemente sua conta e dados.
Atores: Usuário autenticado
Fluxo Principal:
Confirma exclusão
ON DELETE CASCADE
remove categorias e despesas associadas
Resultado esperado: Conta e dados excluídos.