feat(dashboard): merge dev → main (US-06)#85
Merged
lucasbrentano merged 6 commits intomainfrom Apr 1, 2026
Merged
Conversation
chore: sincronizar dev com main
- 5 endpoints: /dashboard/global, /dashboard/video, /dashboard/user, /dashboard/bots, /dashboard/criteria-effectiveness - Schemas Pydantic para request/response de cada endpoint - Service com agregações SQL batch (sem N+1) e geração de gráficos Plotly (donut, bar, timeline, concordância, eficácia por critério) - Filtro por critério de limpeza (interseção) em global e video - Tabela de bots paginada com concordância, anotadores e critérios - Destaques por vídeo (autor mais ativo, mais respostas, mais likes, conta mais nova/antiga, média de likes) - Plotly adicionado ao requirements.txt - Router registrado no main.py Co-Authored-By: Claude <noreply@anthropic.com>
- TestGlobalDashboard: KPIs, charts Plotly válidos, filtro por critério, agreement rate, banco vazio retorna zeros - TestVideoDashboard: dados filtrados por vídeo, vídeo inexistente retorna zeros, filtro por critério - TestUserDashboard: dados exclusivos do pesquisador autenticado, não expõe dados de outro, status completed/in_progress/not_started - TestBotComments: concordância, busca por texto - TestCriteriaEffectiveness: eficácia por critério, filtro por vídeo - TestSeguranca: nenhum endpoint expõe username de outros pesquisadores Co-Authored-By: Claude <noreply@anthropic.com>
- DashboardPage com abas: Visão Geral, Por Vídeo, Meu Progresso - GlobalTab: 7 KPIs (progresso, concordância, pendentes), 6 gráficos Plotly (donut, comparativo, timeline, taxa de bots, concordância por dataset, eficácia por critério), tabela de bots paginada com filtro por critério de limpeza - VideoTab: dropdown de vídeos, 7 KPIs, destaques (autor mais ativo, mais respostas, likes, contas mais nova/antiga), 4 gráficos, tabela de bots pré-filtrada por vídeo - UserTab: 8 KPIs (incluindo humanos), 3 gráficos, tabela de progresso por dataset com barra visual e botão "Continuar" - PlotlyChart genérico com ResizeObserver + ChartCard com título - AbbreviatedChart: substitui nomes longos por D1/D2 com legenda - KpiCards com cores contextuais (emerald, red, amber, blue, orange) - CriteriaFilterBar com checkboxes numérico/comportamental - BotCommentsTable com colunas Anotadores e Critérios - api/dashboard.ts e hooks/useDashboard.ts - plotly.js-dist-min + @types/plotly.js instalados - Card do dashboard ativado na HomePage Co-Authored-By: Claude <noreply@anthropic.com>
- Criar routes/AppRoutes.tsx centralizando todas as rotas - Simplificar App.tsx para usar apenas providers + AppRoutes - Criar pages/NotFound/NotFoundPage.tsx com mensagem e botão de volta - Substituir redirect silencioso por página 404 dedicada Co-Authored-By: Claude <noreply@anthropic.com>
feat(dashboard): implementar US-06 — Dashboard de Análise
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Resumo
routes/AppRoutes.tsxcentraliza definição de rotas, página 404 dedicadaComo testar
cd backend && pytest— 184 testes passandocd frontend && npx tsc --noEmit— sem erros de tipo/dashboard— 3 abas funcionando com gráficos e KPIs