Uma plataforma moderna e poderosa para análise detalhada de perfis e repositórios do GitHub.
O GitHub Analytics é uma aplicação web para análise aprofundada de usuários e repositórios do GitHub.
Ele combina dados da GitHub REST API e da GraphQL API para exibir:
- Métricas de perfil (seguidores, repositórios, gists, destaque de projetos).
- Hábitos de contribuição ao longo do tempo.
- Distribuição de linguagens.
- Complexidade aproximada de repositórios.
- Insights automáticos sobre o perfil do desenvolvedor.
Tudo isso em uma interface moderna, responsiva e com:
- Modo claro e escuro;
- Internacionalização (pt-BR e en-US);
- Experiência pensada também para recrutadores.
- Visão geral do perfil (avatar, nome, bio, seguidores, repositórios).
- Heatmap de contribuições interativo.
- Gráfico de principais linguagens utilizadas.
- Lista de repositórios com:
- Busca por nome.
- Ordenação por impacto, crescimento, atividade recente ou tecnologia.
- Filtro por linguagem.
- Exibição de organizações do usuário.
- Renderização do README de perfil, quando disponível.
- Cálculo de:
- Distribuição de linguagens.
- Consistência de contribuições (dias ativos, maior streak, média por dia).
- Score de consistência de 0 a 100.
- Classificação do tipo de perfil:
Focused,GeneralistouBalanced. - Geração de insights automáticos (qualidade, rising star, influência social, etc.).
- Visão especial voltada para recrutadores:
- Resumo profissional do usuário.
- Destaque para projetos mais relevantes ordenados por impacto.
- Layout simplificado e amigável para impressão.
- Visualização detalhada de qualquer repositório público:
- Cabeçalho com estrelas, forks, watchers, license e datas.
- Gráfico de linguagens por bytes.
- Lista de top contribuidores.
- Últimos stargazers.
- Resumo de issues abertas/fechadas e pico de atividade.
- Estimativa de complexidade (número de arquivos e tamanho aproximado).
- Timeline cumulativa de stars e forks ao longo do tempo.
- Comparação lado a lado entre dois perfis:
- Score calculado com base em seguidores, repositórios, gists e consistência.
- Destaque visual para o vencedor.
- Comparativo de métricas principais (followers, following, repos, gists).
- Descubra o que está em alta no GitHub:
- Repositórios em destaque (estrelas, linguagem, descrição).
- Usuários em alta.
- Dark Mode e Light Mode totalmente suportados.
- Internacionalização (i18n): suporte para Português (BR) e Inglês (US).
- Design responsivo e acessível com Shadcn UI e Tailwind CSS.
Este projeto foi construído com as tecnologias mais recentes do ecossistema React:
- Next.js 16: Framework React com App Router para performance e SEO.
- TypeScript: Tipagem estática para maior segurança e manutenibilidade.
- Tailwind CSS v4: Estilização utilitária e moderna.
- Shadcn UI & Radix UI: Componentes de interface acessíveis e customizáveis.
- Recharts: Biblioteca para construção de gráficos de dados.
- Octokit: SDK oficial para interagir com a API do GitHub.
- React Activity Calendar: Componente estilo GitHub para visualização de contribuições.
Siga os passos abaixo para rodar o projeto em sua máquina local.
- Node.js (versão 18 ou superior)
- npm ou yarn ou pnpm
-
Clone o repositório:
git clone https://github.com/miquelven/github-analytics.git cd github-analytics -
Instale as dependências:
npm install # ou yarn install # ou pnpm install
-
Configure as Variáveis de Ambiente: Crie um arquivo
.env.localna raiz do projeto e adicione seu token do GitHub (necessário para aumentar o limite de requisições da API):NEXT_PUBLIC_GITHUB_TOKEN=seu_token_github_aqui
Nota: Você pode gerar um token (Personal Access Token) nas configurações de desenvolvedor do seu perfil no GitHub.
-
Execute o servidor de desenvolvimento:
npm run dev
-
Acesse a aplicação: Abra seu navegador e vá para
http://localhost:3000.
src/
├── app/ # Rotas e páginas (App Router)
│ ├── compare/ # Página de comparação
│ ├── repo/ # Páginas de detalhes de repositório
│ ├── trending/ # Página de tendências
│ ├── user/ # Páginas de perfil de usuário
│ └── ...
├── components/ # Componentes React
│ ├── ui/ # Componentes base (Shadcn UI)
│ ├── user/ # Componentes específicos de usuário
│ ├── repo/ # Componentes específicos de repositório
│ └── ...
├── lib/ # Utilitários e configurações (API Client)
└── ...
Contribuições são sempre bem-vindas! Sinta-se à vontade para abrir uma issue ou enviar um Pull Request.
- Faça um Fork do projeto
- Crie uma Branch para sua Feature (
git checkout -b feature/MinhaFeature) - Faça o Commit de suas mudanças (
git commit -m 'Adiciona: MinhaFeature') - Faça o Push para a Branch (
git push origin feature/MinhaFeature) - Abra um Pull Request