Introdução ao Insight
O projeto NX Insight possui como objetivo apresentar os dados dos diversos produtos da Smart NX de forma prática e objetiva.
Principais Funcionalidades
-
👌🏻 Fácil Visualização: Com uma série de visualizações já prontas basta acessar o conjunto de dados de interesse e receber as principais informações de forma simples e rápida.
-
🦚 Personalização: Visões personalizadas podem ser criadas por cliente, atendendo as necessidades específicas.
-
🧐 Tudo em um lugar só: Uma plataforma única para fazer as principais análises e tomada de decisão.
-
📲 De qualquer dispositivo: Os gráficos são responsíveis e podem ser acessados e adaptados ao mobile.
Tecnologias e Ferramentas
- PHP: 7.4
- Repositório git: NXBI/NXInsight
- Jira board: [P] NX Insight
- Percona (fork de Mysql 5.7): Release 11 com engine tokudb 8
- Laravel: 7
Visão Geral
O Insight trata-se de um produto que concentra dados das plataformas do Callcenter, da Movidesk e da Huggy.
Início: a necessidade de negócio
Uma das grandes dores dos clientes é uma visualização mais unificada de todos produtos da Smart NX. Com o crescimento de seus negócios e um aumento da maturidade de gestão se torna necessário entender os relacionamentos entre os sistemas e consequentemente uma análise mais detalhada dos dados.
Baseado nisso surgiu o Insight fornecendo de forma simples visualizações dos dados.
As demandas iniciam-se no quadro [P] Insight no JIRA onde se é criada a tarefa.
Controle e versionamento de código
Com a tarefa em mãos cria-se uma nova branch no repositório git do produto, o mesmo estando localizado dentro do workspace SMARTNX e do projeto NXBI, com o nome de NXInsight.
Dentro do repositório temos duas branches importantes:
-
develop: Onde está o código de homologação. As novas funcionalidades passam pelo processo de merge nesta branch para serem aprovadas.
-
master: Onde está o código de produção. As novas funcionalidades uma vez homologadas e aprovadas na develop vem para cá.
O Coletor
Sendo a coleta de dados uma das principais características do Insight uma das peças importantes desse processo é o coletor.
O Coletor é um script .sh presente no Jump que realiza a extração dos dados e da insert no Insight.
Os dados são extraídos a partir da meia noite nos servidores configurados no Insight, sendo essa extração realizada com coletores próprios (Callcenter) ou via API (Huggy e Movidesk).
Setup
Após o setup do git e bitbucket faça o clone do repositório:
git clone git@bitbucket.org:devsmartnx/nxinsight.git
Entre na pasta nxinsight:
cd nxinsight
Copie o arquivo .env.example e renomeie para .env
cp ./.env.example ./.env
Abra o arquivo .env e faça as configurações que reflitam a estrutura de seu banco de dados:
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=insight
DB_USERNAME=root
DB_PASSWORD=1234
Instale as dependências:
php composer install
Inicie o servidor:
php artisan serve
Fluxo de Trabalho
Consultas
Boa parte do desenvolvimento no Insight consiste na criação de novos gráficos e tabelas. Os dados podem vir de três principais tabelas do banco de dados:
- CargaCounter(Day/Month): Também conhecido como
Contadorespela interface do sistema, possui uma estrutura condensada por dia/mês, com a seguinte estrutura de coluna
| Coluna | Exemplo |
|---|---|
| cliente_id | |
| produto | |
| canal | |
| tipo_chamada_campanha | |
| date_index | |
| fulldate | |
| carga_id | |
| carga | |
| campanha | |
| agente_id | |
| tipo_tabulacao | |
| pesquisa_comentarios | |
| pesquisa_modelo_pontuacao | |
| pesquisa_resposta | |
| cnt_sla_horario | |
| cnt_sla_fora_horario | |
| cnt_sla_primeira_resposta_horario | |
| cnt_sla_primeira_resposta_fora_horario | |
| cnt_total | |
| sum_valor_divida | |
| cnt_conversion | |
| sum_valor_divida_convercao | |
| cnt_duracao | |
| cnt_answer | |
| cnt_busy | |
| cnt_abandon | |
| cnt_noanswer | |
| cnt_chanunavail | |
| cnt_invalidnumber | |
| cnt_failed | |
| cnt_answermachine | |
| cnt_transbordo | |
| json_cnt_tabulacao | |
| cnt_nota_pesquisa | |
| sum_tempo_resolucao | |
| json_cnt_status | |
| sum_tempo_espera | |
| cnt_reabertura | |
| json_cnt_urgencia | |
| cnt_robot | |
| cnt_resolvedinfirstcall | |
| sum_leads_importados |
- CPFs: Estrutura de consulta individual dos dados
cliente_id| produto| canal| campanha| carga| registros_importados| unique_index| nome| email| telefone| atendimentos

