Dashboard inteligente para análise de vendas e Business Intelligence.
DataPulse é um projeto de Dados/BI que transforma dados brutos de vendas em insights visuais e decisões de negócio. O sistema ingere um CSV, persiste em SQLite, calcula KPIs via Python/Pandas e SQL, e expõe tudo em um dashboard interativo com tema dark premium.
Desenvolvido como projeto de portfólio — DataPulse 1.0 está funcional e pronto para demonstração.
Empresas acumulam planilhas de vendas mas não conseguem responder rapidamente:
- Quanto faturamos no período?
- O que mais vende (produto/categoria)?
- Onde e quando vendemos melhor?
- Quem são os melhores vendedores?
Construir um pipeline que calcule automaticamente:
- Faturamento total, quantidade de vendas, ticket médio
- Produtos/categorias mais vendidos
- Vendas por região, período e evolução temporal
- Dashboard interativo com filtros por categoria, região, vendedor e período
- Python 3.11 — lógica e automação
- Pandas 2.0+ — manipulação, limpeza e agregações
- SQL (SQLite) — persistência e consultas analíticas (
queries.sql) - Streamlit 1.30+ — dashboard interativo
- Plotly 5.0+ / Matplotlib — gráficos (área, pizza, barras horizontais)
- Git & GitHub — versionamento
CSV (data/vendas.csv) → Pandas (limpeza/validação) → SQLite (data/datapulse.db)
→ KPIs (src/metricas.py + src/kpis.py) + SQL (queries.sql)
→ Streamlit (dashboard/app.py) → Plotly
- Fonte: dataset fictício gerado para fins didáticos/portfólio
- Arquivo:
data/vendas.csv(versionado) - Banco:
data/datapulse.db(gerado viapython src/database.py, ignorado no Git) - Linhas: 10 vendas
- Colunas:
data,produto,categoria,quantidade,valor_unitario,valor_total,regiao,vendedor - Período: 2026-01-05 a 2026-02-10
- Categorias: Eletrônicos, Móveis
- Regiões: Sudeste, Nordeste, Sul, Centro-Oeste
| Indicador | Resultado |
|---|---|
| Faturamento total | R$ 13.690,00 |
| Itens vendidos | 18 unidades |
| Ticket médio | R$ 1.369,00 |
| Qtd. vendas | 10 |
| Produto mais vendido (qtd) | Mouse — 8 un. |
| Categoria líder (faturamento) | Eletrônicos — R$ 9.290,00 |
| Região líder | Sudeste — R$ 7.300,00 |
| Melhor vendedor | Ana — R$ 7.500,00 |
| Período | 2026-01 (R$ 11.040) / 2026-02 (R$ 2.650) |
Valores calculados diretamente de
data/vendas.csvviasrc/metricas.pye validados comqueries.sql.
SQL disponível em queries.sql (raiz) e src/queries.sql com 8 consultas: visão geral, faturamento por categoria/região/produto, ranking de vendedores, evolução mensal e maior venda.
Tema dark premium (#07080D + roxo #8B5CF6 + ciano #00E5FF), com:
- KPIs no topo: faturamento, itens vendidos, ticket médio, vendedores ativos
- Gráfico de área: evolução do faturamento por data
- Pizza: participação por categoria
- Barras horizontais: faturamento por região e ranking de vendedores
- Insights automáticos: categoria/vendedor/região líder e produto mais vendido
- Filtros (sidebar): categoria, região, vendedor e período (date_input)
- Tabela interativa:
st.dataframecom formataçãoR$
Visual: .streamlit/config.toml versionado garante tema consistente.
Prints em data/docs/img/ — capture com Win + Shift + S e salve com <1MB.
# 1. Clone
git clone https://github.com/sabrynardev/DataPulse.git
cd DataPulse
# 2. Ambiente virtual
python -m venv venv
# Windows:
venv\Scripts\activate
# Linux/Mac:
# source venv/bin/activate
# 3. Dependências
pip install -r requirements.txt
# 4. Banco (gera data/datapulse.db a partir do CSV)
python src/database.py
# 5. Dashboard
python -m streamlit run dashboard/app.py
# ou
streamlit run dashboard/app.py
# 6. Teste rápido
python main.pyComando oficial do dashboard:
python -m streamlit run dashboard/app.py
datapulse/
├── .streamlit/
│ └── config.toml # tema dark premium (versionado)
├── dashboard/
│ └── app.py # Streamlit + Plotly
├── data/
│ ├── vendas.csv # dataset (versionado)
│ ├── datapulse.db # SQLite gerado (ignorado no Git)
│ ├── docs/img/.gitkeep
│ └── relatorios/.gitkeep
├── src/
│ ├── database.py # CSV → SQLite
│ ├── kpis.py # KPIs de alto nível
│ ├── metricas.py # funções atômicas (faturamento, ticket, etc)
│ ├── queries.sql # 8 consultas SQL analíticas
│ └── __init__.py
├── queries.sql # cópia na raiz (portfólio)
├── main.py # ponto de entrada (print inicial)
├── requirements.txt # pandas, streamlit, plotly, matplotlib
├── .gitignore
└── README.md
python main.py # → DataPulse iniciado!
python src/database.py # → Banco criado: data/datapulse.db
python -c "from src.metricas import faturamento_total; print('OK')"
python -c "from src.kpis import gerar_kpis; print('OK')"- Manipulação com Pandas: limpeza,
groupby, datas (pd.to_datetime) e validações de colunas - Integração Python ↔ SQLite:
df.to_sql,sqlite3,Pathrobusto - Criação de KPIs reutilizáveis e storytelling com dados
- Visualização com Plotly + Streamlit (cache, filtros, layout responsivo)
- Versionamento profissional:
.gitignorecorreto,config.tomlversionado,.dbignorado
- Migrar para PostgreSQL e incluir testes automatizados (
pytest) - Deploy no Streamlit Cloud + CI
- Filtros avançados, exportação de relatórios (CSV/PDF) e paginação
- Veja
10 - Ideias Futuras.mdno Obsidian para roadmap completo
Sabryna — @sabrynardev · Projeto DataPulse 1.0 para portfólio de Dados/BI.
DataPulse · Python · Pandas · SQL · SQLite · Plotly · Streamlit