{"id":31364420,"url":"https://github.com/gabriellopes-eng/data-analysis-upe","last_synced_at":"2026-05-06T03:33:29.151Z","repository":{"id":314661086,"uuid":"1056259406","full_name":"gabriellopes-eng/data-analysis-upe","owner":"gabriellopes-eng","description":"Dashboards em Streamlit para análise de dados da UPE (PROPEGI \u0026 PDT): heatmap, somatórios, totais mensais e recebimentos. JSON + Python/Plotly/Pandas.","archived":false,"fork":false,"pushed_at":"2025-09-25T14:22:13.000Z","size":131,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-09-25T15:37:35.596Z","etag":null,"topics":["json","pandas","plotly","python","streamlit"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gabriellopes-eng.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-09-13T17:58:03.000Z","updated_at":"2025-09-25T14:22:16.000Z","dependencies_parsed_at":"2025-09-13T23:31:18.360Z","dependency_job_id":"f8652e14-628a-4ca4-ba5a-bf8f320f22e4","html_url":"https://github.com/gabriellopes-eng/data-analysis-upe","commit_stats":null,"previous_names":["gabriellopes-eng/data-analysis-upe"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/gabriellopes-eng/data-analysis-upe","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gabriellopes-eng%2Fdata-analysis-upe","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gabriellopes-eng%2Fdata-analysis-upe/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gabriellopes-eng%2Fdata-analysis-upe/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gabriellopes-eng%2Fdata-analysis-upe/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gabriellopes-eng","download_url":"https://codeload.github.com/gabriellopes-eng/data-analysis-upe/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gabriellopes-eng%2Fdata-analysis-upe/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32677928,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-06T02:33:58.958Z","status":"ssl_error","status_checked_at":"2026-05-06T02:33:39.611Z","response_time":117,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["json","pandas","plotly","python","streamlit"],"created_at":"2025-09-27T07:07:09.575Z","updated_at":"2026-05-06T03:33:29.123Z","avatar_url":"https://github.com/gabriellopes-eng.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ◈ Data Analysis UPE\n\n[![Python](https://img.shields.io/badge/Python-3.10+-blue.svg)](https://www.python.org/)\n[![Streamlit](https://img.shields.io/badge/Streamlit-1.38.0-FF4B4B.svg)](https://streamlit.io/)\n[![License](https://img.shields.io/badge/license-MIT-green.svg)](LICENSE)\n\nDashboards interativos em **Streamlit** com dados **JSON** para dois domínios:\n- **PROPEGI Financeiro**\n- **Projeto de Desenvolvimento Tecnológico**\n\nProjetado para **gestão baseada em dados** no contexto profissional e universitário, com foco em clareza, comparabilidade e replicabilidade.\n\n\u003cimg width=\"1536\" height=\"1024\" alt=\"63ad614e-5fd4-42e0-aebd-a09f11bfe0c4\" src=\"https://github.com/user-attachments/assets/d3b19fe7-8477-4ae3-aa4c-f54d2c81dd9f\" /\u003e\n\n\n\n\n## 🚀 Tecnologias\n- Python 3.10+\n- Streamlit\n- Pandas\n- Plotly\n\n\n## 📂 Estrutura do Repositório\n```\nDATA-ANALYSIS-UPE/\n│── images/\n│   └── upeLogo.png\n│\n│── Projeto de Desenvolvimento Tecnologico/\n│   ├── input/\n│   │   └── Projetos de Desenvolvimento Tecnologico.json\n│   └── Streamlit/\n│       ├── analisesFinanceiras/\n│       │   ├── analise1.py\n│       │   ├── analise2.py\n│       │   ├── analise3.py\n│       │   ├── analise4.py\n│       │   └── data_utils.py\n│       └── projeto_tecnologico.py\n│\n│── PROPEGI Financeiro/\n│   ├── input/\n│   │   └── Financas.json\n│   └── Streamlit/\n│       ├── analisesFinanceiras/\n│       │   ├── analise1_comparativa.py\n│       │   ├── analise2_somatorio.py\n│       │   ├── analise3_total_mensal.py\n│       │   └── data_utils.py\n│       └── projeto_financeiro.py\n│\n│── .streamlit/\n│   └── config.toml\n│── requirements.txt\n│── requirements-dev.txt\n│── Makefile\n│── tasks.py\n│── .gitignore\n└── README.md\n```\n\n\n\n## ⚙️ Instalação\n\n### 1) Clone\n```bash\ngit clone https://github.com/seu-usuario/DATA-ANALYSIS-UPE.git\ncd DATA-ANALYSIS-UPE\n```\n\n### 2) Ambiente virtual\n```bash\npython -m venv venv\n# Linux/Mac\nsource venv/bin/activate\n# Windows (PowerShell)\nvenv\\Scripts\\Activate.ps1\n```\n\n### 3) Dependências\n```bash\n# Produção\npip install -r requirements.txt\n\n# Desenvolvimento (opcional)\npip install -r requirements-dev.txt\n```\n\n## ▶️ Execução Rápida\n\n### Via **Makefile** (Linux/Mac; Windows com Make instalado)\n```bash\nmake run-financeiro\nmake run-tecnologico\n```\n\n### Via **Invoke** (Windows/Linux/Mac – sem Make)\n```bash\n# já dentro do venv:\ninvoke run-financeiro\ninvoke run-tecnologico\n```\n\n### Comando Streamlit direto\n```bash\nstreamlit run \"PROPEGI Financeiro/Streamlit/projeto_financeiro.py\"\nstreamlit run \"Projeto de Desenvolvimento Tecnologico/Streamlit/projeto_tecnologico.py\"\n```\n\n\u003e 💡 Dica: no topo de cada app, utilize:\n\u003e ```python\n\u003e import streamlit as st\n\u003e st.set_page_config(\n\u003e     page_title=\"Data Analysis UPE\",\n\u003e     page_icon=\"images/upeLogo.png\",\n\u003e     layout=\"wide\"\n\u003e )\n\u003e ```\n\n\n## 🔎 O que cada análise faz (explicado de forma explícita)\n\n\n## 📁 Projeto de Desenvolvimento Tecnológico  \n`Projeto de Desenvolvimento Tecnologico/Streamlit/analisesFinanceiras/`\n\n### 1) Séries — **Recebimentos mensais por órgão (Agência, Unidade, IA-UPE)**\n**Arquivo:** `analise1.py`  \n\n- **Objetivo:** visualizar a **evolução mensal** dos recebimentos por **órgão** ao longo de um ano.\n- **Como ler:** cada linha representa um órgão (Agência, Unidade, IA-UPE). Picos e vales indicam **sazonalidade** e **meses críticos**.\n- **Filtros/controles:** seleção de **ano** (dropdown).\n- **Uso típico:** detectar meses de maior entrada, comparar o comportamento entre órgãos e planejar **alocação/execução** mensal.\n\n\u003cimg width=\"1365\" height=\"533\" alt=\"image\" src=\"https://github.com/user-attachments/assets/672143ed-e281-45dc-a367-90f9df67b70d\" /\u003e\n\n---\n\n### 2) Barras empilhadas — **Projetos em desenvolvimento por segmento/ano**\n**Arquivo:** `analise2.py`  \n\n- **Objetivo:** comparar a **quantidade de projetos** por **segmento** (Educação, Meio Ambiente, Saúde, Segurança, Tecnologia) em cada **ano**.\n- **Como ler:** barras empilhadas por ano; cada cor é um segmento com o respectivo **rótulo de contagem**.\n- **Filtros/controles:** visual agregado por ano (sem filtro adicional na imagem).\n- **Uso típico:** priorização de portfólio por segmento; acompanhar **mudança de foco** ao longo dos anos.\n\n\u003cimg width=\"1365\" height=\"532\" alt=\"image\" src=\"https://github.com/user-attachments/assets/a8d0db67-8b90-456a-8af8-86a999e715b8\" /\u003e\n\n---\n\n### 3) Barras agrupadas — **Recebimentos anuais por órgão (Agência, Unidade, IA-UPE)**\n**Arquivo:** `analise3.py`  \n\n- **Objetivo:** comparar o **total anual** recebido por cada **órgão**.\n- **Como ler:** barras lado a lado (Agência, Unidade, IA-UPE) para cada ano; **rótulos** em k ajudam na leitura imediata.\n- **Filtros/controles:** visão anual consolidada (sem filtro adicional na imagem).\n- **Uso típico:** avaliação **macro** por órgão e ano; suporte a planejamento e **prestação de contas**.\n\n\u003cimg width=\"1365\" height=\"511\" alt=\"image\" src=\"https://github.com/user-attachments/assets/95e38bc6-57e6-40c9-85b1-a44c3b730e10\" /\u003e\n\n---\n\n### 4) Barras + Donut — **Recebimentos por ano por Setor (Segmento)**\n**Arquivo:** `analise4.py`  \n\n- **Objetivo:** entender valores por **segmento** ao longo dos anos e a **distribuição percentual** em um **ano** específico.\n- **Como ler:**  \n  - **Barras** com valores por segmento em cada ano.  \n  - **Donut** mostra a **participação (%)** de cada segmento no ano filtrado.\n- **Filtros/controles:** seleção de **período/ano** (dropdown para a donut).\n- **Uso típico:** balancear investimentos entre segmentos; identificar **concentrações** e **oportunidades**.\n\n\u003cimg width=\"1365\" height=\"522\" alt=\"image\" src=\"https://github.com/user-attachments/assets/7482dd2c-1d96-4bc4-91a5-93c83bf5706c\" /\u003e\n\u003cimg width=\"991\" height=\"454\" alt=\"image\" src=\"https://github.com/user-attachments/assets/8eae47b1-defa-4d00-bdbd-c8df46626d6b\" /\u003e\n\n---\n\n## 📁 PROPEGI Financeiro  \n`PROPEGI Financeiro/Streamlit/analisesFinanceiras/`\n\n### 1) Heatmap — **Comparativo de valores das folhas por projeto (Mês/Ano)**\n**Arquivo:** `analise1_comparativa.py`  \n\n- **Objetivo:** comparar a **intensidade mensal/anual** dos **valores de folha** por **projeto**.\n- **Como ler:** tons mais escuros = **maior valor**; eixo Y são **projetos** e eixo X é **Mês/Ano**.\n- **Filtros/controles:** **caminho do JSON**, filtro de **Ano (opcional)** e seleção de **projetos**; botão **Limpar filtros**.\n- **Uso típico:** identificar **picos sazonais**, meses críticos por projeto e **lacunas** de execução.\n\n\u003cimg width=\"1365\" height=\"517\" alt=\"image\" src=\"https://github.com/user-attachments/assets/c0789844-83e2-4feb-935c-7a172b50572d\" /\u003e\n\n---\n\n### 2) Barras horizontais — **Somatório dos valores das folhas por projeto**\n**Arquivo:** `analise2_somatorio.py`  \n\n- **Objetivo:** ranquear projetos pelo **total acumulado** (soma) no período filtrado.\n- **Como ler:** barras ordenadas (desc); rótulos exibem o **total em R$** por projeto.\n- **Filtros/controles:** filtro de **Ano (opcional)** e **busca por nome** do projeto (contém).\n- **Uso típico:** definição de **TOP-N** de custo; priorização de auditoria e replanejamento.\n\n\u003cimg width=\"1362\" height=\"548\" alt=\"image\" src=\"https://github.com/user-attachments/assets/584bfb1e-9d7e-472d-a4eb-57a12941d8ca\" /\u003e\n\n---\n\n### 3) Barras verticais — **Evolução mensal do valor total das folhas (todos os projetos)**\n**Arquivo:** `analise3_total_mensal.py`  \n\n- **Objetivo:** acompanhar o **total mensal** somando **todos os projetos**.\n- **Como ler:** barras por mês; rótulos com valores em **R$** destacam picos e vales.\n- **Filtros/controles:** filtro de **Ano (opcional)** e **projetos** (multi-seleção).\n- **Uso típico:** visão **macro** para planejamento orçamentário e acompanhamento de **execução mensal**.\n\n\u003cimg width=\"1365\" height=\"519\" alt=\"image\" src=\"https://github.com/user-attachments/assets/5ca3284a-bdce-4d66-b7da-46180ccb4ce5\" /\u003e\n\n\n\u003e **Observação:** `data_utils.py` padroniza campos do JSON, cria colunas derivadas (ex.: `ano`, `mes`) e agrega dados.\n\n## ✅ Qualidade e Produtividade\n- **Lint:** `flake8`\n- **Formatação:** `black`\n- **Testes:** `pytest`\n- **Automação:** `Makefile` e `invoke (tasks.py)`\n\nComandos úteis:\n```bash\n# Com Make\nmake lint\nmake format\nmake test\nmake clean\n\n# Com Invoke\ninvoke lint\ninvoke format\ninvoke test\ninvoke clean\n```\n\n## 🏫 Contexto Acadêmico\nProjeto desenvolvido na **Universidade de Pernambuco (UPE)**, integrando **Engenharia de Software**, **Análise de Dados** e **Ciência de Dados** para apoiar **Decisões Gerenciais** baseadas em evidências.\n\n## 👤 Autor\n**Gabriel Lopes de Albuquerque** — UPE  \n- 📘 Gmail: gabriel.lopes.albuquerque@gmail.com\n- 🔗 [LinkedIn](https://www.linkedin.com/in/gabriel-lopes-de-albuquerque-658a8317b/)\n\n## 📄 Licença\nDistribuído sob a licença **MIT**. Consulte o arquivo `LICENSE`.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgabriellopes-eng%2Fdata-analysis-upe","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgabriellopes-eng%2Fdata-analysis-upe","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgabriellopes-eng%2Fdata-analysis-upe/lists"}