- Descrição: O sistema deve permitir que novos usuários se cadastrem fornecendo um nome de usuário e uma senha.
- Detalhes: O nome de usuário deve ser único.
- A senha deve ser armazenada de forma segura (hash e salt).
- Descrição: O sistema deve permitir que usuários façam login com seu nome de usuário e senha.
- Detalhes: O sistema deve manter o usuário autenticado durante a sessão.
- O usuário deve ser capaz de fazer logout.
- Descrição: Ao se cadastrar, o usuário deve receber um saldo inicial fictício de 1000 unidades de dinheiro.
- Descrição: O usuário deve ser capaz de apostar uma quantia do seu saldo em uma rodada do jogo.
- Detalhes: A cada rodada, o saldo do usuário deve ser atualizado com base no resultado (ganho ou perda).
- A lógica do jogo deve ser baseada em probabilidades simples (por exemplo, chance de dobrar o valor apostado ou perder tudo).
- O sistema deve impedir que o usuário aposte mais do que o saldo disponível.
- Descrição: O sistema deve armazenar o histórico de cada rodada jogada por um usuário.
- Detalhes: Cada rodada deve registrar a quantia apostada e o resultado da rodada.
- O saldo atual do usuário deve ser registrado a cada jogada.
- Descrição: Quando o saldo do usuário chegar a zero, o sistema deve exibir um gráfico mostrando a variação do saldo ao longo das rodadas.
- Detalhes: O gráfico deve plotar o saldo do usuário em cada rodada, mostrando claramente os ganhos e perdas.
- Descrição: Após visualizar o gráfico, o usuário deve ter a opção de reiniciar o jogo com um saldo de 1000 unidades.
- Detalhes: O histórico anterior deve ser resetado ou armazenado de forma que não interfira na nova rodada.
- O usuário deve poder repetir esse ciclo quantas vezes desejar.
- Descrição: O sistema deve proteger as credenciais do usuário e seus dados.
- Detalhes: Utilizar hashing de senhas.
- Prevenir ataques como SQL Injection.
- Usar HTTPS para comunicação segura.
- Descrição: O sistema deve responder de forma rápida e eficiente às interações do usuário.
- Detalhes: O carregamento das páginas deve ser rápido.
- A geração e exibição dos gráficos devem ser feitas em tempo real.
- Descrição: O sistema deve ser fácil de usar, com uma interface clara e intuitiva.
- Detalhes: As páginas devem ser responsivas, adaptando-se a diferentes dispositivos.
- Mensagens de erro e sucesso devem ser claras e informativas.
- Descrição: O sistema deve ser capaz de lidar com um número crescente de usuários e dados.
- Detalhes: Uso de um banco de dados que possa escalar conforme necessário (como PostgreSQL ou MySQL em produção).
- Possibilidade de otimização futura para maior volume de acessos simultâneos.
- Descrição: O sistema deve ser fácil de manter e atualizar.
- Detalhes: O código deve ser modular e seguir boas práticas de desenvolvimento.
- Documentação clara para facilitar futuras alterações ou expansões.
Versão | Data | Descrição | Autor |
---|---|---|---|
1.0 | 21/08/2024 | Criação dos requisitos | Julia Gabriela |