dsw-projeto's Introduction
dsw-projeto's People
Forkers
raphaelsantospintodsw-projeto's Issues
Visualizar posição em casa grupo
Os grupos em que um usuário participa devem aparecer, por exemplo, em uma barra lateral do sistema, indicando a posição do usuário em relação aos demais usuários do grupo. A posição é calculada pelo número de pontos no bolão - quem tem mais pontos, fica na liderança (1º lugar) do grupo;
Bloquear resultados em que a seleção brasileira perde
Regra do pensamento positivo: o sistema não deve aceitar resultados reais em que a seleção brasileira perca um jogo;
Bloqueio de usuário após 3 tentativas
O usuário deve ser bloqueado caso tenha tentado acessar o sistema por três vezes seguidas sem sucesso.
Neste caso, ele deve ser forçado a trocar a senha pela opção descrita na issue #2
Cadastro de usuários
O sistema deve registrar novos usuários para permitir que eles acessem o sistema. O cadastro deve
receber o login do usuário, seu nome, e-mail, cidade onde mora e senha. Não deve haver dois usuários
com o mesmo login ou o mesmo e-mail. O formulário de registro de um novo usuário deve ter também
um campo para confirmação da senha digitada;
Atualizar resultados de jogos e recalcular pontos dos usuários
O administrador pode alterar o resultado de um jogo a qualquer momento e o sistema deve ser capaz de recalcular o pontos dos usuários a cada alteração;
Visualizar palpites
a área de palpites deve apresentar os jogos da Copa do Mundo, os palpites do usuário e os resultados dos jogos;
Tratar unicidade de grupos
Grupos são criados para permitir a competição entre amigos, sendo cada grupo identificado por um nome único no sistema.
Alterar informações do usuário
Um usuário logado deve ser capaz de alterar seu nome, e-mail, cidade onde mora e foto, que estão
registrados na base de dados do sistema;
Trocar senha de usuário
Ao trocar a senha do usuário, devem ser apresentados campos para digitação da senha antiga, para a
senha nova e para confirmação da senha.
Restringir acesso à área de administração
Somente usuários administradores devem ter acesso ao lançamento de resultados reais.
Entrar com resultados reais
O lançamento de um resultado real é similar ao registro de um palpite: o administrador entra com o número de gols de cada lado em um jogo;
Criar e remover grupos
Todos os usuários podem criar grupos, mas somente o usuário que criou um grupo (dono do grupo) poderá removê-lo do sistema; Uma vez criado o grupo, não é possível editar o seu nome;
Visualizar raking dentre todos os participantes
A área central do participante também deve apresentar seu número de pontos acumulado no bolão e sua posição em relação a todos os outros usuários do sistema.
Calcular número de pontos a ser atribuído aos palpites
Ao receber o resultado de um jogo, o sistema deve calcular o número de pontos a ser atribuído a cada palpite dado por algum usuário para aquele jogo.
- Se o usuário acertar o placar do jogo, ele ganha 10 pontos;
- Se acertar o vencedor (ou empate) e o placar de um dos times, ganha 7 pontos;
- Se acertar o vencedor (ou empate) sem acertar o placar, ganha 5 pontos;
- Se acertar apenas o número de gols de um time, ganha 2 pontos;
- Por fim, o número de pontos ganhos deve ser multiplicado pelo peso da fase do jogo.
Visualizar tabela de jogos
A área central da tela deve exibir uma tabela com os jogos da Copa do Mundo. A organização visual desta tabela é importante. Um bom exemplo pode ser encontrado em http://globoesporte.globo.com/
futebol/copa-do-mundo/classificacao.html;
Informações do usuário no header
O cabeçalho da aplicação também deve apresentar o nome do usuário logado e a data/hora em que este
fez o último login no sistema;
Inscrição e saida de grupos
Um usuário pode pedir sua inscrição em um grupo. Neste caso, o usuário entra com o nome do grupo e o sistema o inclui. Um usuário pode sair de um grupo a qualquer momento. Um dono de grupos pode retirar um usuário de um dos seus grupos.
Visualizar informação dos jogos
Cada jogo deve apresentar as seleções participantes, o estádio, data e hora do jogo. O jogo deve apresentar também seu resultado real (se disponível), o palpite do usuário logado (se houver) e o número de pontos ganhos no bolão em função do palpite;
Visualizar opções de usuários
As informações (nome, data de último login) e comandos (troca de senha, edição de perfil, logout) relacionados com o login geralmente são apresentados em uma barra no topo da tela, mas o desenvolvedor tem a opção de escolher outro local se julgar conveniente;
Criar usuário administrador
O administrador do sistema não poderá registrar palpites, mas registrará os resultados reais dos jogos;
Visualizar login grupos e palpites
A página principal de um usuário deve apresentar suas informações de login, seus grupos e seus palpites;
Adicionar palpite para jogos
Nesta tabela, o usuário deve poder selecionar um jogo e entrar com um palpite. O palpite poderá ser registrado e alterado até uma hora antes do horário do jogo. O palpite só poderá ser registrado se a fase associada ao jogo estiver aberta. Cada palpite é descrito pelo número de gols de cada lado, incluindo os pênaltis em jogos a partir das oitavas de final;
Menu de usuários no header
O sistema deve reconhecer se há um usuário logado, apresentando as opções para logout e troca de
senha no cabeçalho de todas as páginas da aplicação
Listar grupos
A lista de grupos deve apresentar os grupos em que o usuário participa, indicando sua colocação em cada grupo e oferecendo comandos para sair de um grupo, entrar em outro grupo ou criar um novo;
Envio de token via email
Deve haver uma opção para que o sistema envie um token para troca de senha por e-mail para o usuário,
caso este tenha perdido sua senha;
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.