Dashboard analítico para inspeção de repositórios GitHub (atividade, concentração/“bus factor”, processo/qualidade e linguagens).
O projeto coleta dados via scripts Python (etl/), gera CSVs em out/ e carrega tudo em um relatório Power BI (template .pbit).
- Stack: Python (ETL) + Power BI
- Dados: API do GitHub → CSVs em
out/ - Relatório:
powerbi_template/GithubRadar.pbit(fonte oficial para versionamento) - Design: arquivos SVG e Figma em
powerbi/design/
github_radar/
├─ etl/
│ ├─ build_repo_list_from_search.py # busca e gera lista inicial de repositórios
│ └─ github_radar_etl.py # coleta meta, linguagens, contribuidores, commits diários e issues fechadas
├─ out/ # SAÍDA dos CSVs (gerado pelo ETL; não versionar em produção)
│ ├─ repo_list.csv
│ ├─ repo_catalog.csv
│ ├─ repo_meta.csv
│ ├─ repo_languages.csv
│ ├─ repo_contributors.csv
│ ├─ repo_commits_daily.csv
│ └─ repo_issues_closed.csv
├─ powerbi/
│ ├─ design/ # assets visuais do relatório
│ │ ├─ Visao Geral.svg
│ │ ├─ Atividade.svg
│ │ ├─ Concentração.svg
│ │ ├─ Processo.svg
│ │ └─ Linguagens.svg
│ └─ screenshots/ # capturas usadas neste README
│ ├─ Screenshot_1.png
│ ├─ Screenshot_2.png
│ ├─ Screenshot_3.png
│ ├─ Screenshot_4.png
│ ├─ Screenshot_5.png
│ └─ Screenshot_6.png
├─ powerbi_template/
│ ├─ GithubRadar.pbit # TEMPLATE do relatório (versionado)
│ └─ GithubRadar.json # tema do relatório (importável no Power BI)
├─ .env.example # exemplo de variáveis de ambiente (GITHUB_TOKEN)
├─ GithubRadar.pbix # PBIX de release (opcional; preferir Releases do GitHub)
└─ README.md
Nota: os caminhos acima refletem o estado atual do repo. Se mover pastas/arquivos, ajuste este README.
- Python 3.10+
pip install -r requirements.txt(se houver; caso contrário:pip install python-dotenv requests pandas)- Crie
.envna raiz (ou edite o existente) a partir de.env.example:GITHUB_TOKEN=SEU_TOKEN_DO_GITHUB
Na raiz do projeto:
python etl/build_repo_list_from_search.py
python etl/github_radar_etl.pySaída esperada em out//*.csv.
- Power BI Desktop → File > Open →
powerbi_template/GithubRadar.pbit - Informe o caminho da pasta
out/quando solicitado (parâmetro) - Refresh e navegue nas páginas
- KPIs: Stars • Commits (janela) • Contribuidores Únicos • Lead Time (médio/mediano)
- Tabela-hub: ranking por atividade/concentração com link para o repo
- Top 10 por atividade (commits na janela)

- Série temporal de commits (dia/semana) e média móvel (MM7)
- Slicers de repo/owner/language e janela de tempo

- Top1 Commits % e Top3 Commits % por repositório
- Tabela “drill” por contribuidor (
login, contribuições, % no repo)
Os arquivos vetoriais de cada página estão em
powerbi/design/*.svge o projeto Figma empowerbi/design/GithubRadar_Design.fig.
- Atividade:
Commits (Janela),Média Diária (30d) - Concentração:
Top1 Commits %,Top3 Commits %,Contribuidores Únicos - Processo:
Lead Time Mediano,Lead Time P95,Issues Fechadas (Janela) - Linguagens:
Bytes Linguagem,% Linguagem
O modelo segue estrela:
RepoMeta(dim) → fatos (RepoCommitsDaily,RepoContrib,RepoIssuesClosed,RepoLang). Chave:RepoKey = owner & "/" & repo.
- Dia a dia: editar
.pbixlocalmente → Exportar .pbit → commit do.pbit - Releases: gerar
.pbixfinal e publicar em GitHub Releases (ou versionar com Git LFS se necessário) out/permanece fora do Git (dados gerados)
Rows Contrib (ctx)varia por repo (filtro ok)lead_time_daysnumérico; histograma com bins semblankRepoMeta[RepoKey]1:* com fatos; URLs categorizadas como Web URL
Use livremente para fins de estudo/portfólio. Cite GitHub Radar – Power BI quando aplicar.
Dúvidas/sugestões: abra uma Issue.


