Documentação de Projeto Data Quality
Documentação produzida utilizando o MkDocs, se deseja saber mais acesse mkdocs.org.
Este projeto de Data Quality foi desenvolvido após Workshop do Luciano Vasconcelos Filho.
GitHub do Projeto: Deputados-LuhBorba
Documentação do Projeto: Documentacao
Portifólio Pessoal: Portifólio
Stack do Projeto
- python
- streamlit
- selenium
- pytest
- taskipy
- pydantic
- openpyxl
- mkdocs
- mkdocstrings
- mkdocs-material
Proposta do Projeto
O projeto tem como objetivo realizar um processo de validação de estrutura de uma planilha no Excel, considerando que hoje no mundo corporativo esta é uma ferramenta amplamente usada, assim buscando definições padrões para envios de dados considerando um estrutura de contrato pre-definida.
A abordagem utilizada é criar um App no Streamlit que realize todo processo de validação, ferramenta com criação de testes, buscando assim um qualidade no dado enviado.
Estrutura do Projeto
O projeto está basicamente dividido em 4 (quatro) arquivos, todos eles dentro da pasta src
.
- app.py
- backend.py
- contrato.py
- frontend.py
Contrato de Schema
Este aqui é específico para o contrato de dados do case de vendas, trabalhado neste projeto.
Bases: BaseModel
Modelo de dados para Vendas
Parameters:
Name | Type | Description | Default |
---|---|---|---|
email |
str
|
Email do comprador |
required |
data |
datetime
|
Data da Compra |
required |
id_compra |
int
|
Identificador da Compra |
required |
valor_compra |
float
|
Valor da Compra |
required |
vendedor |
str
|
Vendedor que realizou a compra |
required |
Source code in src/contrato.py
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
|
App.py
Aqui é particularmente faço a união entre o frontend e backend, carregando assim todas as validações propostas no backend e trazendo todos os visuais carregados no frontend.
# Importando Classe do Arquivo FrontEnd
from frontend import ExcelValidadorUI
# Importando Função do Arquivo BackEnd
from backend import process_excel
Função especifica para interligar frontend e backend, de forma que o projeto tenha uma organização e padronização.
Source code in src/app.py
4 5 6 7 8 9 10 11 12 |
|
Frontend.py
Este arquivo é para configuração do frontend da página, assim deixando de forma separada do app.py
.
# Importando Streamlit
import streamlit as st
Source code in src/frontend.py
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
|
Backend.py
Este arquivo é para configuração do backend da página, fazendo toda validação dos arquivos 'xlsx'.
# Importando Pandas
import pandas as pd
# Importando classe de Vendas do arquivo de contratos.py
from contrato import Vendas
Source code in src/backend.py
4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
|