Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Refatorar cálculo da classificação #59

Open
7 tasks
eldersantoss opened this issue May 8, 2023 · 0 comments
Open
7 tasks

Refatorar cálculo da classificação #59

eldersantoss opened this issue May 8, 2023 · 0 comments
Assignees
Labels
enhancement New feature or request

Comments

@eldersantoss
Copy link
Owner

Hoje, toda vez que que algum usuário consulta a classificação, ela é recalculada do zero, realizando uma série de consultas e operações aritméticas, o que torna esse processo extremamente custoso e ineficiente, principalmente a medida que mais partidas e palpites vão sendo inseridos no sistema.

Descrição

  • A classificação é uma lista ordenada de forma decrescente de todos os palpiteiros de um bolão. A ordenação dessa lista deve ser feita com base na pontuação acumulada de todos os palpites do palpiteiro em um determinado período de tempo. Então, o desafio para a construção da classificação é realizar o cálculo da pontuação de cada palpiteiro, para cada cada bolão e em cada período de tempo e, então, armazená-lo para que não precise ser recalculado a cada nova consulta.

Requisitos

  • a classificação deve estar disponível para consulta em 4 períodos diferentes:
    • geral: acumula pontuação de todas os palpites das partidas desde a data de criação do bolão até a data atual
    • anual: acumula pontuação de todas os palpites das partidas desde o dia 01/01 até o dia 31/12 do ano consultado
    • mensal: acumula pontuação de todas os palpites das partidas desde o dia 01 até o último dia do mês (e ano) consultado
    • semanal: acumula pontuação de todas os palpites das partidas da semana (incluindo mês e ano) consultada
  • a pontuação de cada palpiteiro, para cada cada bolão e em cada período de tempo deve ser armazenada para consulta rápida

Extra

  • as pontuações devem ser atualizadas pelo servidor de forma assíncrona a cada atualização nas partidas
@eldersantoss eldersantoss converted this from a draft issue May 8, 2023
@eldersantoss eldersantoss self-assigned this May 8, 2023
@eldersantoss eldersantoss added the enhancement New feature or request label May 8, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
Status: Todo
Development

No branches or pull requests

1 participant