Este teste foi dividido em cinco etapas:
-
Modelagem do banco de dados;
-
Popular o banco de dados com grande volume de dados;
-
Desenvolver query's;
-
Faça uma análise estatística descritiva dos status e das mensagens da table3 exporte os dados analisados em .csv.;
-
Desenvolver uma aplicação node.js para exibição das informações em um dashboard.
Confira a existência do MySql-server e do cliente Workbench em seu sistema.
Crie um usuário e senha com permissão DBA no workbench em: Server > Users and Privileges.
Criando usuário e senha:
Atribuindo permissões DBA:
No arquivo db/config/config.json, altere os campos "username" e "password" para corresponder ao usuário e senha criados on passo 01.
{
"development": {
"username": "SEU-USUARIO",
"password": "SUA-SENHA",
"database": "smarkiodb",
"host": "127.0.0.1",
"dialect": "mysql",
"define":{
"timestamps": false
}
},
"test": {
"username": "SEU-USUARIO",
"password": "SUA-SENHA",
"database": "smarkiodb",
"host": "127.0.0.1",
"dialect": "mysql",
"define":{
"timestamps": false
}
},
"production": {
"username": "SEU-USUARIO",
"password": "SUA-SENHA",
"database": "smarkiodb",
"host": "127.0.0.1",
"dialect": "mysql",
"define":{
"timestamps": false
}
}
}
Agora altere também o arquivo db/config/sequelize-automate.config.json.
{
"dbOptions":{
"database": "smarkiodb",
"username": "SEU-USUARIO",
"password": "SUA-SENHA",
"dialect": "mysql",
"host": "localhost",
"port": 3306,
"logging": false
},
"options":{
"type": "js",
"camelcase": true,
"dir":"models"
}
}
Execute o código SQL disponível em "/passo-01", este código é responsável pela criação do banco de dados e todas as entidades necessárias.
Execute o código SQL disponível em "/passo-02", este código é responsável pela inserção de dados fictícios em todas as tabelas para a execução do teste prático.
Execute cada um dos códigos existentes em "/passo-03", cada arquivo SQL possui o código referente à uma query solicitada.
O arquivo AnaliseDescritiva.sql possui 2 querys necessárias para uma posterior análise descritiva aprofundada.
Este módulo possui mapeamento objeto-relacional, possui uma API para acesso às entidades status,usuarios,intencoes,mensagens. Desenvolvido em NODE.JS, utiliza bibliotecas como Express, mysql2, Sequelize,Sequelize-automate.
Para executá-lo, abra o prompt de comando ou shell em "teste-smarkio/passo-05/db" e execute o comando:
"node index.js"
Para testar a API, abra http://localhost:8888 e modifique a url para corresponder à tabela desejada.
Exemplo:
http://localhost:8888/usuarios
http://localhost:8888/intencoes
http://localhost:8888/mensagens
http://localhost:8888/usuario/1
http://localhost:8888/intencao/1
http://localhost:8888/status/1
http://localhost:8888/mensagem/1
Este módulo está em desenvolvimento, utilizando-se do framework Vue , utiliza bibliotecas como axios, bootstrap-vue, vue-router. Para executá-lo, abra um novo prompt de comando ou shell em "teste-smarkio/passo-05/smarkiodashboard" e execute o comando:
"npm run dev"
Para visualizar acesse http://localhost:8080