Skip to content

Projeto end-to-end da criação de um Data Warehouse para uma companhia fictícia de mineração chamada Astarte Mining Co.

License

Notifications You must be signed in to change notification settings

datalopes1/machine_stop

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🪨 Otimizando as Operações da Astarte Mining Co.

📜 Sumário

  1. 📌 Sobre o Projeto
  2. ⚙️ Tecnologias Utilizadas
  3. 🚀 Como Executar
  4. 📊 Estrutura do Projeto
  5. 🗒️ Licença
  6. 📞 Contato

📌 Sobre o Projeto

Este projeto tem como objetivo, a partir de dados gerados sinteticamente, modelar um Data Warehouse para armazená-los, realizar uma análise para otimizar as operações da Astarte Mining Company e criar um dashboard para o monitoramento das manutenções.

Astarte Mining Co.

A mineradora Astarte atua na extração de minérios no interior do Brasil. Com relativamente pouco tempo de existência, a empresa ainda não possui uma cultura de dados estabelecida e gera seus relatórios exclusivamente por meio de seu ERP interno.

Diante da necessidade de otimizar e modernizar suas operações, o CEO identificou uma oportunidade de melhoria com a adoção de ferramentas de Business Intelligence (BI) e decidiu implementar um projeto piloto para avaliar seus benefícios.

Foram disponibilizados dados sobre máquinas, operadores, incidentes e manutenções, e o desafio proposto é:

  1. Migrar os dados do ERP interno para um banco de dados em nuvem.
  2. Criar um dashboard para monitoramento dos custos de manutenção.
  3. Respondas às seguintes perguntas:
    • Qual o tempo de inatividade das máquinas e sua taxa de disponibilidade?
    • Qual o custo de manutenção por tipo de máquina, e máquina individualmente?
    • Qual a quantidade de incidentes por tipo de máquina?

⚙️ Tecnologias Utilizadas

  • 🐍 Python 3.12
  • 📊 Microsoft Power BI (Data Viz)
  • 🏭 dbt-core (Transformação dos Dados)
  • 🎲 duckdb, Pandas, NumPy, Faker (Manipulação de Dados)
  • 🐘 PostgreSQL - Render Cloud (Banco de Dados)

🚀 Como Executar

1️⃣ Clone o repositório

git clone https://github.com/datalopes1/machine_stop.git
cd machine_stop

2️⃣ Crie um ambiente virtual (recomendado)

python -m venv .venv
source .venv/bin/activate  # Mac e Linux
.venv\Scripts\activate  # Windows

3️⃣ Instale as dependências

pip install -r pyproject.toml

4️⃣ Gere os dados

python scr/generate_data.py

5️⃣ Faça a ingestão no banco de dados (após criar as tabelas)

python scr/ingest_data.py

6️⃣ Execute o projeto do dbt

cd astarte_dw
dbt run

Dashboard

Além disso você pode acessar o dashboard interativo neste link.

dash

📊 Estrutura do Projeto

Arquitetura do Data Warehouse

arq

Estrutura

machine_stop/
|-- astarte_dw/                     # Projeto do dbt-core
|-- dashboard/                      # Projeto do Power BI em formato .pbip
|-- data/                               
|   ├── raw/                        # Dados brutos gerados
|-- doc/                                
|   ├── img/                        # Imagens utilizadas na documentação
|   ├── source_to_target.xlsx       # Source to Target Mapping
|-- notebooks/                          
|   ├── analise.ipynb               # Análise exploratória de dados
|-- src/
|   ├── create_tables.sql           # Query para criação de tabelas
|   ├── generate_data.py            # Script para gerar dados sintéticos
|   ├── ingest_data.py              # Script de ingestão de dados
|-- .gitignore                      # Arquivos e pastas ignoradas pelo Git
|-- pyproject.toml                  # Dependências
|-- README.md                       # Documentação do projeto
|-- LICENSE.md                      # Licença

🗒️ Licença

Este projeto está licenciado sob a MIT License - veja o arquivo LICENSE para mais detalhes.

📞 Contato

About

Projeto end-to-end da criação de um Data Warehouse para uma companhia fictícia de mineração chamada Astarte Mining Co.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published