https://github.com/gabriellopes-eng/data-analysis-upe
Dashboards em Streamlit para análise de dados da UPE (PROPEGI & PDT): heatmap, somatórios, totais mensais e recebimentos. JSON + Python/Plotly/Pandas.
https://github.com/gabriellopes-eng/data-analysis-upe
json pandas plotly python streamlit
Last synced: about 2 months ago
JSON representation
Dashboards em Streamlit para análise de dados da UPE (PROPEGI & PDT): heatmap, somatórios, totais mensais e recebimentos. JSON + Python/Plotly/Pandas.
- Host: GitHub
- URL: https://github.com/gabriellopes-eng/data-analysis-upe
- Owner: gabriellopes-eng
- Created: 2025-09-13T17:58:03.000Z (9 months ago)
- Default Branch: main
- Last Pushed: 2025-09-25T14:22:13.000Z (9 months ago)
- Last Synced: 2025-09-25T15:37:35.596Z (9 months ago)
- Topics: json, pandas, plotly, python, streamlit
- Language: Python
- Homepage:
- Size: 128 KB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# ◈ Data Analysis UPE
[](https://www.python.org/)
[](https://streamlit.io/)
[](LICENSE)
Dashboards interativos em **Streamlit** com dados **JSON** para dois domínios:
- **PROPEGI Financeiro**
- **Projeto de Desenvolvimento Tecnológico**
Projetado para **gestão baseada em dados** no contexto profissional e universitário, com foco em clareza, comparabilidade e replicabilidade.

## 🚀 Tecnologias
- Python 3.10+
- Streamlit
- Pandas
- Plotly
## 📂 Estrutura do Repositório
```
DATA-ANALYSIS-UPE/
│── images/
│ └── upeLogo.png
│
│── Projeto de Desenvolvimento Tecnologico/
│ ├── input/
│ │ └── Projetos de Desenvolvimento Tecnologico.json
│ └── Streamlit/
│ ├── analisesFinanceiras/
│ │ ├── analise1.py
│ │ ├── analise2.py
│ │ ├── analise3.py
│ │ ├── analise4.py
│ │ └── data_utils.py
│ └── projeto_tecnologico.py
│
│── PROPEGI Financeiro/
│ ├── input/
│ │ └── Financas.json
│ └── Streamlit/
│ ├── analisesFinanceiras/
│ │ ├── analise1_comparativa.py
│ │ ├── analise2_somatorio.py
│ │ ├── analise3_total_mensal.py
│ │ └── data_utils.py
│ └── projeto_financeiro.py
│
│── .streamlit/
│ └── config.toml
│── requirements.txt
│── requirements-dev.txt
│── Makefile
│── tasks.py
│── .gitignore
└── README.md
```
## ⚙️ Instalação
### 1) Clone
```bash
git clone https://github.com/seu-usuario/DATA-ANALYSIS-UPE.git
cd DATA-ANALYSIS-UPE
```
### 2) Ambiente virtual
```bash
python -m venv venv
# Linux/Mac
source venv/bin/activate
# Windows (PowerShell)
venv\Scripts\Activate.ps1
```
### 3) Dependências
```bash
# Produção
pip install -r requirements.txt
# Desenvolvimento (opcional)
pip install -r requirements-dev.txt
```
## ▶️ Execução Rápida
### Via **Makefile** (Linux/Mac; Windows com Make instalado)
```bash
make run-financeiro
make run-tecnologico
```
### Via **Invoke** (Windows/Linux/Mac – sem Make)
```bash
# já dentro do venv:
invoke run-financeiro
invoke run-tecnologico
```
### Comando Streamlit direto
```bash
streamlit run "PROPEGI Financeiro/Streamlit/projeto_financeiro.py"
streamlit run "Projeto de Desenvolvimento Tecnologico/Streamlit/projeto_tecnologico.py"
```
> 💡 Dica: no topo de cada app, utilize:
> ```python
> import streamlit as st
> st.set_page_config(
> page_title="Data Analysis UPE",
> page_icon="images/upeLogo.png",
> layout="wide"
> )
> ```
## 🔎 O que cada análise faz (explicado de forma explícita)
## 📁 Projeto de Desenvolvimento Tecnológico
`Projeto de Desenvolvimento Tecnologico/Streamlit/analisesFinanceiras/`
### 1) Séries — **Recebimentos mensais por órgão (Agência, Unidade, IA-UPE)**
**Arquivo:** `analise1.py`
- **Objetivo:** visualizar a **evolução mensal** dos recebimentos por **órgão** ao longo de um ano.
- **Como ler:** cada linha representa um órgão (Agência, Unidade, IA-UPE). Picos e vales indicam **sazonalidade** e **meses críticos**.
- **Filtros/controles:** seleção de **ano** (dropdown).
- **Uso típico:** detectar meses de maior entrada, comparar o comportamento entre órgãos e planejar **alocação/execução** mensal.

---
### 2) Barras empilhadas — **Projetos em desenvolvimento por segmento/ano**
**Arquivo:** `analise2.py`
- **Objetivo:** comparar a **quantidade de projetos** por **segmento** (Educação, Meio Ambiente, Saúde, Segurança, Tecnologia) em cada **ano**.
- **Como ler:** barras empilhadas por ano; cada cor é um segmento com o respectivo **rótulo de contagem**.
- **Filtros/controles:** visual agregado por ano (sem filtro adicional na imagem).
- **Uso típico:** priorização de portfólio por segmento; acompanhar **mudança de foco** ao longo dos anos.

---
### 3) Barras agrupadas — **Recebimentos anuais por órgão (Agência, Unidade, IA-UPE)**
**Arquivo:** `analise3.py`
- **Objetivo:** comparar o **total anual** recebido por cada **órgão**.
- **Como ler:** barras lado a lado (Agência, Unidade, IA-UPE) para cada ano; **rótulos** em k ajudam na leitura imediata.
- **Filtros/controles:** visão anual consolidada (sem filtro adicional na imagem).
- **Uso típico:** avaliação **macro** por órgão e ano; suporte a planejamento e **prestação de contas**.

---
### 4) Barras + Donut — **Recebimentos por ano por Setor (Segmento)**
**Arquivo:** `analise4.py`
- **Objetivo:** entender valores por **segmento** ao longo dos anos e a **distribuição percentual** em um **ano** específico.
- **Como ler:**
- **Barras** com valores por segmento em cada ano.
- **Donut** mostra a **participação (%)** de cada segmento no ano filtrado.
- **Filtros/controles:** seleção de **período/ano** (dropdown para a donut).
- **Uso típico:** balancear investimentos entre segmentos; identificar **concentrações** e **oportunidades**.

---
## 📁 PROPEGI Financeiro
`PROPEGI Financeiro/Streamlit/analisesFinanceiras/`
### 1) Heatmap — **Comparativo de valores das folhas por projeto (Mês/Ano)**
**Arquivo:** `analise1_comparativa.py`
- **Objetivo:** comparar a **intensidade mensal/anual** dos **valores de folha** por **projeto**.
- **Como ler:** tons mais escuros = **maior valor**; eixo Y são **projetos** e eixo X é **Mês/Ano**.
- **Filtros/controles:** **caminho do JSON**, filtro de **Ano (opcional)** e seleção de **projetos**; botão **Limpar filtros**.
- **Uso típico:** identificar **picos sazonais**, meses críticos por projeto e **lacunas** de execução.

---
### 2) Barras horizontais — **Somatório dos valores das folhas por projeto**
**Arquivo:** `analise2_somatorio.py`
- **Objetivo:** ranquear projetos pelo **total acumulado** (soma) no período filtrado.
- **Como ler:** barras ordenadas (desc); rótulos exibem o **total em R$** por projeto.
- **Filtros/controles:** filtro de **Ano (opcional)** e **busca por nome** do projeto (contém).
- **Uso típico:** definição de **TOP-N** de custo; priorização de auditoria e replanejamento.

---
### 3) Barras verticais — **Evolução mensal do valor total das folhas (todos os projetos)**
**Arquivo:** `analise3_total_mensal.py`
- **Objetivo:** acompanhar o **total mensal** somando **todos os projetos**.
- **Como ler:** barras por mês; rótulos com valores em **R$** destacam picos e vales.
- **Filtros/controles:** filtro de **Ano (opcional)** e **projetos** (multi-seleção).
- **Uso típico:** visão **macro** para planejamento orçamentário e acompanhamento de **execução mensal**.

> **Observação:** `data_utils.py` padroniza campos do JSON, cria colunas derivadas (ex.: `ano`, `mes`) e agrega dados.
## ✅ Qualidade e Produtividade
- **Lint:** `flake8`
- **Formatação:** `black`
- **Testes:** `pytest`
- **Automação:** `Makefile` e `invoke (tasks.py)`
Comandos úteis:
```bash
# Com Make
make lint
make format
make test
make clean
# Com Invoke
invoke lint
invoke format
invoke test
invoke clean
```
## 🏫 Contexto Acadêmico
Projeto 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.
## 👤 Autor
**Gabriel Lopes de Albuquerque** — UPE
- 📘 Gmail: gabriel.lopes.albuquerque@gmail.com
- 🔗 [LinkedIn](https://www.linkedin.com/in/gabriel-lopes-de-albuquerque-658a8317b/)
## 📄 Licença
Distribuído sob a licença **MIT**. Consulte o arquivo `LICENSE`.