Introdução ao What's 360
O What's 360 é uma plataforma orientada ao canal WhatsApp, fornecendo estrutura para projetos de bots automatizados mais complexos, destacando o aquisição de cartão e o delivery.
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: NXWhats360/NXWhats360
- Jira board: [P] What's 360
- MySQL: 5.7
- Laravel: 7
Visão Geral
O Whats'360 trata-se de um produto que concentra experiências mais complexas de integração com o
WhatsApp.
Início: a necessidade de negócio
O Whatsapp vem se tornando um dos principais canais de comunicação de uma grande parcela da população e isso foi ainda mais acentuado com a pandemia. Vislumbrando essa oportunidade, o Whats360 nasceu com o intuito de dar suporte a operações mais complexas de integração, tendo como piloto o modo de Delivery.
As demandas iniciam-se no quadro [P] What'360 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 Whats360, com o nome de Whats360.
Dentro do repositório temos duas branches importantes:
-
qa: Onde está o código com as interações do QA.
-
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á.
Delivery
Este módulo consiste nas interações entre a plataforma do Whats360 e o Whatsapp criando um fluxo completo de compra de produtos e método de pagamento.
Atualmente está disponível uma integração de pagamento com a Vindi e a importação de produtos segue um modelo .CSV.
Interações
O Whatsapp se comunica via API com o Whats360 por meio do fluxo criado na Huggy, utilizando-se a Zenvia como broker para fazer o intermédio de comunicação com o Facebook.
Setup
Após o setup do git e bitbucket faça o clone do repositório:
git clone git@bitbucket.org:devsmartnx/nxwhats360.git
Entre na pasta nxwhats360:
cd nxwhats360
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
Processo de Desenvolvimento

Padrão de escrita: PSR-4
-
Definição de pronto:
- Iteração concluída (Dev);
- Testes unitários passando (Dev/QA);
- Testes funcionais feitos e aprovados (QA);
- Pull-request aceito (Dev).
Versionamento
-
Branch master: ramificação com a versão atual do sistema;
-
Branch dev_master: ramificação com as novas funcionalidades, correções de bugs e melhorias do sistema;
- Versão testada e estável;
- Revisão de código antes do merge;
-
Branch dev_(#issue): versão onde são realizadas as iterações (sustentação e roadmap);
- Deverá ser criada pelo desenvolvedor e seguir o padrão “dev_(#issue)”;
- Como exemplo a tarefa apresentada na imagem a seguir, o nome da branch para esta iteração será “dev_gr83”.
-
Branch qa_master: ramificação padrão de QA que contém os testes caixa branca (unitários e de integração);
- Testes passando;
- Pull-request semanal na branch dev_master - (quarta-feira?);
- Revisão de código antes do merge;
-
Branch qa_(#issue): versão criada para as iterações de QA (escrever novos testes, adaptação/correção de testes, etc.);
- Deverá ser criada pelo QA ou desenvolvedor e seguir padrão “qa_(#issue);
- Tendo como exemplo a imagem acima, com o código e descrição de uma tarefa, o nome da branch referente será “qa_gr83”;
A seguir, uma ilustração do modelo de versionamento proposto.

-
Modelo de versão do NX Whats 360: “0.0.0”
- 0.0.0.X: o quarto dígito corresponde a iterações de manutenção corretiva, adaptativa ou preventiva relacionada a última publicação (bugs com alta prioridade e alta severidade, gerando indisponibilidade para algum o cliente);
- 0.0.X.0: o terceiro dígito corresponde a publicação de iterações de manutenções, sejam corretivas ou preventivas dentro do planejamento seja uma sprint ou roadmap;
- 0.X.0.0: o segundo dígito corresponde a publicação de novas funcionalidades;
- X.0.0.0: o primeiro dígito corresponde a publicações históricas, como alteração de layout, fluxos de casos de uso ou mudanças de amplo impacto no sistema.

