Skip to content

Complete data pipeline for managing, analyzing, and visualizing information related to rental properties.

License

Notifications You must be signed in to change notification settings

marchingbeagle/pipeline-edd

Repository files navigation

Projeto Engenharia de Dados - Pipeline de Aluguel de Imóveis 🏠

License

Este projeto tem como objetivo criar um pipeline completo de dados para gerenciar, analisar e visualizar informações relacionadas ao aluguel de imóveis. A arquitetura desenvolvida permite desde a extração de dados do nosso banco de origem até o processamento, armazenamento e visualização em dashboards interativos.

O foco principal é oferecer uma solução escalável e eficiente, utilizando ferramentas modernas para integrar grandes volumes de dados, garantindo a confiabilidade, segurança e acessibilidade das informações. O projeto cobre todas as etapas da engenharia de dados: ingestão, transformação, análise e apresentação, com ênfase em boas práticas e tecnologias amplamente utilizadas no mercado.

Entre os casos de uso contemplados, estão:

  • Análise de mercado imobiliário para identificar tendências de preço e demanda.
  • Monitoramento de locações e contratos por meio de relatórios dinâmicos.
  • Insights sobre desempenho e ocupação de imóveis para proprietários e administradoras.

A solução foi desenvolvida pensando em flexibilidade e expansibilidade, permitindo futuras integrações e escalabilidade para lidar com novos cenários e dados.

Modelo Físico

Utilizamos a ferramenta de modelagem de dados MySQL Workbench para criação do modelo físico do banco de dados, para posterior exportação dos scripts DDL das tabelas e relacionamentos.

Modelo Físico

Dicionário de dados

As informações sobre as tabelas e índices foram documentadas na planilha template imóvel.

Começando

Essas instruções permitirão que você obtenha uma cópia do projeto em operação na sua máquina local para fins de desenvolvimento e teste.

Consulte Instalação. para saber como implantar o projeto.

Desenho de Arquitetura

Desenho de Arquitetura

🔧 Pré-requisitos

Para executar o projeto, você precisa ter os seguintes softwares instalados na sua máquina:

  • Docker: Ferramenta para criar e gerenciar containers.
  • Docker Compose: Ferramenta para definir e rodar aplicações com múltiplos containers.

🐳 Configurações Docker

Portainer (Opcional)

docker volume create portainer_data2
docker run -d -p 8000:8000 -p 9443:9443 --name portainer2 --restart=always \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -v portainer_data2:/data \
  portainer/portainer-ce:2.21.4

Subir Docker-Compose

docker compose -f docker-compose.yaml up -d

Criar Usuário no Airflow

docker compose run airflow-webserver airflow users create --role Admin \
  --username airflow --email airflow@example.com \
  --firstname airflow --lastname airflow --password airflow

🌐 Conexões

Application URL Credentials
Airflow http://localhost:8085 User: airflow
Pass: airflow
MinIO http://localhost:9001 User: airflow
Pass: airflowairflow
Postgres Server/Database: localhost:5432/airflow User: airflow
Pass: airflow
Spark (Master) http://localhost:8081

Ferramentas utilizadas

As seguintes ferramentas foram utilizadas no projeto:

Ferramentas auxiliares:

  • Python - Linguagem de programação para desenvolvimento de scripts e análises
  • Docker - Containerização para ambientes de desenvolvimento consistentes
  • Delta Lake - Armazenamento de dados transacional para lakes

Colaboração

Se desejar publicar suas modificações em um repositório remoto no GitHub, siga estes passos:

  1. Crie um novo repositório vazio no GitHub.
  2. No terminal, navegue até o diretório raiz do projeto.
  3. Execute os seguintes comandos:
git remote set-url origin https://github.com/seu-usuario/nome-do-novo-repositorio.git
git add .
git commit -m "Adicionar minhas modificações"
git push -u origin master

Isso configurará o repositório remoto e enviará suas modificações para lá.

Autores

Você também pode ver a lista de todos os colaboradores que participaram deste projeto.

Licença

Este projeto está sob a licença (sua licença) - veja o arquivo LICENSE para detalhes.

Referências

https://github.com/andrejnevesjr/airflow-spark-minio-postgres.git

About

Complete data pipeline for managing, analyzing, and visualizing information related to rental properties.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 5