Este projeto é um aplicativo web desenvolvido em Python utilizando principalmente as bibliotecas Streamlit e Plotly. O aplicativo permite que o usuário insira dados (por meio de colagem direta ou upload de arquivo CSV) para gerar uma carta de controle, um tipo de gráfico utilizado para monitoramento de processos. Além disso, o aplicativo gera um relatório em PDF contendo o gráfico e informações estatísticas do conjunto de dados.
- Entrada de Dados:
- O usuário pode colar os dados diretamente em um campo de texto ou fazer upload de um arquivo CSV.
- Os dados devem conter duas colunas:
Data(no formatoaaaa-mm-dd) eValor(numérico).
-
Validação e Processamento de Dados:
- O aplicativo valida se as colunas necessárias estão presentes e se os dados estão no formato correto.
- Realiza a conversão de datas e valores para os tipos apropriados utilizando Pandas e Numpy.
-
Geração de Gráfico:
-
Relatório em PDF:
- Gera um relatório em PDF utilizando a biblioteca fpdf.
- O relatório contém informações gerais, o gráfico da carta de controle e estatísticas relevantes (média, desvio padrão e número de amostras).
- Disponibiliza o PDF para download diretamente na interface do aplicativo.
O aplicativo já está implantado e pode ser acessado em: https://cartacontrole.streamlit.app/.
- Python: Linguagem de programação utilizada para o desenvolvimento do aplicativo.
- Streamlit: Framework para criação de aplicativos web interativos.
- Pandas: Biblioteca para manipulação e análise de dados.
- Numpy: Biblioteca para cálculos numéricos.
- Plotly: Biblioteca para criação de gráficos interativos.
- fpdf: Biblioteca para geração de arquivos PDF.
- Docker: Ferramenta utilizada para conteinerização e deploy do aplicativo. Com Docker, é possível criar um ambiente isolado e replicável, facilitando a execução do aplicativo em diferentes sistemas.
- Python 3.7 ou superior
- Pip (gerenciador de pacotes)
- Clone o repositório:
git clone https://github.com/ebenezercarvalho/carta_controle.git
cd carta_controleInstale as dependências:
pip install -r requirements.txtExecutando o Aplicativo
streamlit run app.pyExecutando com Docker
Construa a imagem Docker:
docker build -t carta-controle .Execute o contêiner:
docker run -p 8501:8501 carta-controleAcesse o aplicativo no navegador em: http://localhost:8501
Estrutura do Projeto
├── app.py # Arquivo principal do aplicativo
├── Dockerfile # Arquivo para construção da imagem Docker
├── requirements.txt # Lista de dependências do projeto
├── README.md # Documentação do projeto
└── ... # Outros arquivos e pastas do projetoContribuições são bem-vindas! Se você deseja melhorar o projeto, por favor, abra uma issue ou envie um pull request.
Ebenézer Carvalho


