Skip to content

miquelven/github-analytics

Repository files navigation

GitHub Analytics 📊

Uma plataforma moderna e poderosa para análise detalhada de perfis e repositórios do GitHub.

GitHub Analytics Banner Next.js TypeScript Tailwind CSS

📖 Sobre o Projeto

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.

✨ Funcionalidades Principais

👤 Análise de Perfil de Usuário

  • 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.

🧠 Insights & Dev Score

  • 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, Generalist ou Balanced.
  • Geração de insights automáticos (qualidade, rising star, influência social, etc.).

🧑‍💼 Recruiter Mode

  • 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.

📦 Detalhes de Repositórios

  • 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 (Versus)

  • 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).

📈 Trending

  • Descubra o que está em alta no GitHub:
    • Repositórios em destaque (estrelas, linguagem, descrição).
    • Usuários em alta.

🎨 UI/UX Moderna

  • 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.

🛠️ Tecnologias Utilizadas

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.

🚀 Como Executar

Siga os passos abaixo para rodar o projeto em sua máquina local.

Pré-requisitos

  • Node.js (versão 18 ou superior)
  • npm ou yarn ou pnpm

Passo a Passo

  1. Clone o repositório:

    git clone https://github.com/miquelven/github-analytics.git
    cd github-analytics
  2. Instale as dependências:

    npm install
    # ou
    yarn install
    # ou
    pnpm install
  3. Configure as Variáveis de Ambiente: Crie um arquivo .env.local na 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.

  4. Execute o servidor de desenvolvimento:

    npm run dev
  5. Acesse a aplicação: Abra seu navegador e vá para http://localhost:3000.

📂 Estrutura do Projeto

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ção

Contribuições são sempre bem-vindas! Sinta-se à vontade para abrir uma issue ou enviar um Pull Request.

  1. Faça um Fork do projeto
  2. Crie uma Branch para sua Feature (git checkout -b feature/MinhaFeature)
  3. Faça o Commit de suas mudanças (git commit -m 'Adiciona: MinhaFeature')
  4. Faça o Push para a Branch (git push origin feature/MinhaFeature)
  5. Abra um Pull Request