Skip to content

[FEATURE] Estatísticas do perfil do usuário #17

@lumamontes

Description

@lumamontes

Contexto

O perfil do usuário atualmente mostra informações básicas, seguidores e seguindo. Não há dados sobre a atividade musical do usuário — quantos álbuns ouviu, nota média, gêneros favoritos, etc.

Objetivo

Adicionar uma seção de estatísticas no perfil mostrando dados agregados sobre a atividade do usuário na plataforma.

Funcionalidades esperadas

  • Total de álbuns avaliados
  • Nota média das avaliações
  • Distribuição de notas (histograma: quantas reviews com 1, 2, 3, 4, 5 estrelas)
  • Gêneros/tags mais frequentes
  • Total de reviews escritas
  • Artistas mais avaliados

Critérios de aceitação

  • Endpoint no backend que retorna estatísticas agregadas de um usuário
  • Seção de estatísticas visível no perfil (/profile e /profile/[username])
  • Visualizações simples (números, barras, ou cards)
  • Performance adequada (queries otimizadas com agregações SQL)
  • Segue o design system neobrutalism

Dicas técnicas

  • Backend: criar endpoint em apps/api/src/users/ usando queries agregadas do Drizzle (count(), avg(), groupBy())
  • Tabelas relevantes: logs (reviews), ratings, Albuns (tags/gêneros)
  • Frontend: componente de estatísticas em apps/web/src/components/
  • Considerar cache com React Query (staleTime mais alto para dados que mudam pouco)

Nível de dificuldade

🟡 Médio — envolve queries agregadas no backend e visualização de dados no frontend.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions