Este projeto implementa um pipeline completo de engenharia de dados utilizando dados da API da CoinGecko.
Ele cobre todas as etapas de um fluxo moderno de dados:
- 🔄 Extração de dados via API (CoinGecko)
- 🐳 Containerização com Docker
- ☁️ Armazenamento e ingestão no BigQuery
- ⚙️ Orquestração com Apache Airflow
- 🧱 Transformação de dados com dbt (Data Build Tool)
- 📊 Camadas analíticas (staging, dimensões e fato)
O objetivo é simular um pipeline real de dados em ambiente de empresa, aplicando conceitos de:
- Engenharia de Dados moderna (ELT)
- Data Warehouse (modelo estrela)
- Automação de pipelines
- Orquestração de workflows
- Transformação analítica com dbt
CoinGecko API
↓
Python ELT (Docker)
↓
BigQuery (Raw / Bronze Layer)
↓
dbt Transformations
↓
Staging Layer
↓
Dimensional Models (dim_time, dim_crypto)
↓
Fact Table (current_market)
↓
Dashboard MetaBase
Python 3.11
Apache Airflow
Docker
Docker Compose
dbt (BigQuery adapter)
Google BigQuery
CoinGecko API
SQL (BigQuery Standard SQL)
MetaBase
crypto/
│
│
├── src/
│ └── extract_and_load.py
│
├── dbt_bigquery/
│ └── models/
│ ├── staging/
│ ├── marts/
│ ├── dim_time.sql
│ ├── dim_crypto.sql
│ └── fact_current_market.sql
│
├── docker/
| ├──config/
│ ├── Dockerfile (Extract e Load)
│ ├── Dockerfile_airflow (DBT)
| └── dags/
| └── orquestrador.py (DAG do airflow)
│
├── credentials/
│ └── bigquery_key.json
│
├── metabase/
│ └── docker-compose.yaml
├── diagrama.png
├── requirements.txt
├── .gitignore
└── README.md
Consome API da CoinGecko
Extrai market data, trending e histórico
Adiciona timestamp de ingestão
Envia para o BigQuery (raw layer)
Executa container Python
Extrai dados da API
Carrega no BigQuery
Executa transformações dbt
Cria staging, dimensões e fatos
extract_load_bq → dbt_run
limpeza
padronização
deduplicação
dim_time
dim_crypto
fact_current_market
métricas financeiras e de mercado
git clone https://github.com/jhonvds1/crypto.git
cd crypto
Colocar service account em:
credentials/bigquery_key.json
docker build -t extract_and_load:1.5 .
docker build -t dbt_coin:1.2 .
docker-compose up -d
Ativar DAG: coin_gecko
Roda a cada: */15 minutos
🟤 Bronze: dados brutos da API
⚪ Silver: staging (limpeza e tratamento)
🟡 Gold: modelos analíticos (dimensões e fatos)
dashboard_final.pdf
Demonstra habilidades de:
pipelines end-to-end
Airflow
dbt
SQL analítico
modelagem estrela
Docker
integração com cloud (BigQuery)
retries no Airflow
secrets manager (GCP)
testes dbt (not_null, unique)
CI/CD (GitHub Actions)
data quality checks
deploy cloud (Composer)
Jonatha Viegas da Silva
Engenharia de Computação - UFPel
Data Engineer
GitHub: https://github.com/jhonvds1
Pipeline completo de engenharia de dados do zero até camada analítica pronta para BI.