11.2 Criar tela de estatísticas, exibindo streaks e n° de posts salvos
Ao clicar no botão de estatísticas na tela de exercícios, o usuário deve ser direcionado para a tela de estatísticas, podendo ver o streak (dias seguidos fazendo exercícios), número de posts salvos pelo usuário, um gráfico indicando quantos exercícios de cada tipo foram feitos neste streak e um calendário do mês atual, indicando quais dias o usuário realizou exercícios e de que tipo.
A página receberá dados da mesma rota que será utilizada para o histórico, desenvolvida na task #32, recebendo uma lista de objetos exercícios, com informações de título, descrição, data de realização e interesse relacionado. Com base nesta lista, a página deve calcular os dados a serem exibidos. A rota é GET no endpoint /history
, e deve receber o userId como parâmetro.
Para o Streak, a página deve contar quantos dias seguidos o usuário realizou exercícios. A conta só deve começar na dia atual ou no dia anterior (o usuário pode não ter feito o exercício do dia ainda). Se ocorrer de o usuário ter realizado dois ou mais exercícios no mesmo dia, deve contar apenas uma vez para o streak.
Para o gráfico, a página deve usar o componente desenvolvido na task #30, passando informações sobre cor e ícone a serem utilizados e quantidade de exercícios realizados para cada interesse. A quantidade é o número de exercícios realizados de cada interesse no presente streak, portanto a soma dos valores tem que ser, no mínimo, igual ao streak. A soma pode ser maior que o streak se o usuário houver realizado mais de um exercício em um ou mais dias.
Para o calendário, a página deve usar o componente desenvolvido na task #31, passando informações sobre a cor a ser utilizada para cada interesse e as datas que foram realizados. O calendário exibirá somente o mês atual, independente se estivermos no dia 1 ou 31.
DEFINIÇÃO DAS CORES: Estamos aguardando retorno das StakeHolders sobre como será feita a definição das cores. Assim que possível, atualizaremos aqui e por mensagem.
Critérios de Aceitação
A página de estatísticas deve:
- Exibir streak e numero de posts salvos;
- Exibir gráfico com quantidade de exercícios realizados em cada interesse no último streak;
- Exibir calendário com quais dias foram realizados exercícios e de categoria no mês atual;
- Receber informações dos exercícios pela rota desenvolvida na task #32.