Skip to content

Resolvendo problema de uma empresa que realiza revenda de carros.

License

Notifications You must be signed in to change notification settings

Jhonatanslopes/Etl-Car-Recommendation

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

code license version

Etl-Car-Recommendation

ETL para uma empresa que realiza Revenda de Carros Usados.

Contexto do Problema

Uma pequena empresa tradicional e familiar de compra e venda de carros usados localizada em São Paulo, realiza seu processo por procura de carros olhando anúncio por anúncio no site Icarros. Por ser um processo manual e diario, a empresa perde tempo de produtividade.

Com isso, os donos querem melhorar seus processos visando garatir eficiencia e ainda conseguir comprar melhores carros para seu negócio.

Entendimento do Problema

  • Motivação:

    • Melhorar a eficiência e produtividade dos processos.
  • Causa Raiz do Problema:

    • Automatizar a coleta de dados e a disponibilização aos donos do negócio de forma rápida e fácil.
  • Formato da Entrega:

    • Os dados serão salvos em banco de dados e disponibilizados em um arquivo excel semanalmente.

Arquitetura do ETL

Entrega da Solução

Envio do email:

Arquivo excel:

Utilização

Para executar este projeto em sua máquina, siga estes passos:

1 - Clone o repositório e instale as dependências do arquivo requirements.txt

2 - Caso não tenha, instale o Outlook em sua máquina. Pois o email será enviado com a integração do python e Outlook.

3 - Caso não tenha, cire uma conta para obter acesso ao email do Outlook e deixe logado em sua conta.

4 - Caso não tenha, instale o MySQL. Após isso, crie um banco de dados e insira seus dados no arquivo scr/loading.py, como abaixo:

  7  | database_username = 'YOUR USER'
  8  | database_password = 'YOUR PASSWORD'
  9  | database_ip       = '127.0.0.1'
  10 | database_name     = 'YOUR DATABASE'

5 - Use este código para criar a tabela e as colunas do banco de dados:

    CREATE TABLE tb_cars (
    brand TEXT,
    price DOUBLE,
    model TEXT,
    motor TEXT,
    year TEXT,
    district TEXT,
    city TEXT,
    state TEXT,
    km DOUBLE,
    color TEXT,
    transmission TEXT,
    advertiser_description TEXT,
    scrapy_date TEXT
  )

6 - No arquivo src/report.py insira algum endereço de email para receber o envio da entrega final:

  42 | email.To = 'YOUR EMAIL'

Em seguida, no mesmo arquivo insira todo o caminho até a pasta report + nome do arquivo.

por exemplo: C:/Users/Jhonatans/projects/ETL/Etl-Car-Recommendation/report/ + report_icarros.xlsx. Inisra o caminho no código abaixo:

  58 | file = 'ALL PATH/report_icarros.xlsx'

Versões Futuras

Ao todo, haverá mais 3 versões além da 1º deste projeto. O que mudará?

  • Versão 2.0: Será incluido a orquestração dos Jobs utizando a ferramenta Airflow com o objetivo de schedular a execução do ETL em determinado dia e hora.

  • Versão 3.0: Será realizado o deploy do ETL no S3 da AWS. Com o objetivo de executar o Jobs nos dias determinados mesmo sem a maquina física estar ligada.

  • Versão 4.0: Além do site Icarros, será coletado carros de mais sites diferentes. E, será enviado recomendações de quais carros a empresa deve comprar.

About

Resolvendo problema de uma empresa que realiza revenda de carros.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages