Sendo notável que as instituições financeiras lidam com volumes crescentes de dados de clientes e, algumas vezes sem processos estruturados de governança para saber quais dados existem, qual a qualidade deles, quais são sensíveis pela LGPD e quem os acessa.
Este projeto propõe uma solução prática: um catálogo de dados automatizado que documenta a estrutura dos dados, monitora sua qualidade, classifica sensibilidade e gera relatórios de auditoria, tornando a governança de dados acessível e rastreável.
| Fase | Nome | Descrição | Status |
|---|---|---|---|
| Fase 1 — Fundação | Ambiente controlado | Catálogo, metadados, qualidade e dashboard sobre o dataset Churn Modelling do Kaggle | 🔄 Em andamento |
| Fase 2 — Classificação | Sensibilidade LGPD | Classificador de dados sensíveis com ML | ⏳ Previsto |
| Fase 3 — Detecção | Anomalias | Detector de anomalias e inconsistências nos dados | ⏳ Previsto |
| Fase 4 — Auditoria | Churn auditável | Modelo de previsão de churn com rastreabilidade de decisões | ⏳ Previsto |
Fase 1 — Fundação
- Extração automática de metadados de tabelas
- Análise de qualidade com score por coluna
- Score de qualidade enriquecido
- Dashboard interativo com Streamlit
- Relatórios de auditoria de acesso
Fase 2 — Classificação
- Classificação de sensibilidade LGPD com ML
Fase 3 — Detecção
- Detector de anomalias e inconsistências
Fase 4 — Auditoria
- Modelo de churn com rastreabilidade de decisões
| Tecnologia | Uso no projeto |
|---|---|
| Python 3 | linguagem principal |
| SQLite | banco de dados local |
| Pandas | manipulação e análise dos dados |
| Plotly | geração de gráficos |
| Streamlit | dashboard web interativo |
data-catalog/
├── data/ # banco de dados (gerado localmente)
├── docs/ # documentação técnica detalhada
│ └── documentation.md # registro completo do desenvolvimento
├── output/ # arquivos gerados pelos scripts
├── src/ # scripts Python
│ ├── extractor.py # extrai metadados do banco
│ ├── analyzer.py # analisa qualidade dos dados
│ └── catalog.py # orquestra extractor e analyzer
├── app.py # dashboard Streamlit
├── requirements.txt # dependências do projeto
└── README.md
# 1. Clone o repositório
git clone https://github.com/bsap16/data-catalog.git
cd data-catalog
# 2. Crie o ambiente virtual
python -m venv venv
venv\Scripts\activate
# 3. Instale as dependências
pip install -r requirements.txt
# 4. Baixe o dataset
# Acesse https://www.kaggle.com/datasets/shrutimechlearn/churn-modelling
# Salve o arquivo Churn_Modelling.csv na pasta data/
# 5. Rode os scripts
python src/extractor.py
python src/analyzer.py
# 6. Inicie o dashboard
streamlit run app.pyTodas as decisões técnicas, análises, limitações e registros diários de desenvolvimento estão em docs/documentation.md.
Bruna Paiva
Estudante de engenharia de software | Formada em Odontologia e Letras
Foco em engenharia e governança de dados
It is noteworthy that financial institutions handle growing volumes of customer data and, at times, do so without structured governance processes to determine what data exists, what its quality is, which data is sensitive under the LGPD (Brazil’s General Data Protection Law, similar to the GDPR), and who has access to it.
This project proposes a practical solution: an automated data catalog that documents data structures, monitors data quality, classifies sensitivity, and generates audit reports, making data governance accessible and traceable.
| Phase | Name | Description | Status |
|---|---|---|---|
| Phase 1 — Foundation | Controlled environment | Catalog, metadata, quality, and dashboard over Kaggle's Churn Modelling dataset | 🔄 In progress |
| Phase 2 — Classification | LGPD Sensitivity | ML-based sensitive data classifier | ⏳ Planned |
| Phase 3 — Detection | Anomalies | Anomaly and inconsistency detector | ⏳ Planned |
| Phase 4 — Audit | Auditable Churn | Churn prediction model with decision traceability | ⏳ Planned |
Phase 1 — Foundation
- Automatic metadata extraction from tables
- Data quality analysis with per-column score
- Enriched quality score
- Interactive Streamlit dashboard
- Access audit reports
Phase 2 — Classification
- LGPD sensitivity classification with ML
Phase 3 — Detection
- Anomaly and inconsistency detector
Phase 4 — Audit
- Churn model with decision traceability
| Technology | Usage |
|---|---|
| Python 3 | main language |
| SQLite | local database |
| Pandas | data manipulation and analysis |
| Plotly | chart generation |
| Streamlit | interactive web dashboard |
data-catalog/
├── data/ # database (generated locally)
├── docs/ # detailed technical documentation
│ └── documentation.md # full development log
├── output/ # files generated by scripts
├── src/ # Python scripts
│ ├── extractor.py # extracts database metadata
│ ├── analyzer.py # analyzes data quality
│ └── catalog.py # orchestrates extractor and analyzer
├── app.py # Streamlit dashboard
├── requirements.txt # project dependencies
└── README.md
# 1. Clone the repository
git clone https://github.com/bsap16/data-catalog.git
cd data-catalog
# 2. Create virtual environment
python -m venv venv
venv\Scripts\activate
# 3. Install dependencies
pip install -r requirements.txt
# 4. Download the dataset
# Go to https://www.kaggle.com/datasets/shrutimechlearn/churn-modelling
# Save Churn_Modelling.csv inside the data/ folder
# 5. Run the scripts
python src/extractor.py
python src/analyzer.py
# 6. Start the dashboard
streamlit run app.pyAll technical decisions, analyses, limitations, and daily development logs are available at docs/documentation.md.
Bruna Paiva
Software Engineering Student | Dentistry and Languages Studies Graduate
Focus on Data Engineer and Governance