- Restaurar 1 dump do MySql e 1 dump do PostgreSQL
- Explorar os dados usando Jupyter Notebook com as bibliotecas Python: Pandas, Matplotlib e Plotly
- Criar um backend usando Flask + Swagger que forneça os dados para visualizações no frontend
- Criar um frontend usando React + Plotly para a apresentação de um relatório web
- Instalar o PostgreSQL 12.2
- Instalar o MySQL 8.0.18.0
- Criar um banco 'teste' no Postgres
- Criar um banco 'teste' no Mysql
- Executar o seguinte comando na linha de comando para restaurar o banco do Postgres
foo@bar:~$ psql -U postgres teste < dados/PostgreSQL-dump-store-202002051505.sql
- Executar o seguinte comando na linha de comando para restaurar o banco do MySQL
foo@bar:~$ mysql -h 127.0.0.1 -u root -p teste < dados/MYSQL_tasks_05-02-20_data.sql
- Executar a exploração feita no Jupyter Notebook: Explocação Inicial.ipynb
- Obs. 1: Para que os gráficos usando Plotly apareçam é necessário executar o notebook localmente.
- Obs. 2: No fim do notebook é gerado o arquivo dados/tudo.csv que é usado pelo backend
- Instalar as dependências do backend com o seguinte comando:
foo@bar:~$ pip install -r backend/requirements.txt
- Configurar a variável de ambiente (windows):
C:\>set FLASK_APP=main
- Configurar a variável de ambiente (linux):
foo@bar:~$ export FLASK_APP=main
- Iniciar o backend com os seguintes comandos:
foo@bar:~$ cd backend
foo@bar:~$ flask run
- Verificar os endpoints da API no endenreço: http://localhost:5000/
- Instalar o Node.js
- Instalar as dependências do Frontend com os seguintes comandos:
foo@bar:~$ cd frontend
foo@bar:~$ npm install
- Iniciar o frontend com o seguinte comando:
foo@bar:~$ npm start
- Iniciar a aplicação no endereço: http://localhost:3000/
- Um pdf da tela do frontend está disponível aqui.
- Obs.: Em todos os gráficos é possível selecionar uma faixa específica dos dados clicando com o mouse e arrastando. Essa funcionalidade é bem útil principalmente para o gráfico de Vendas por Mês que possui muitas informações. Sendo possível visualizar meses específicos, dessa forma: