CloneBots: Como deixar seu dia ainda mais produtivo?
Como surgiu a ideia:
É muito engraçado quando eu lembro do processo de ideação do CloneBots, foi totalmente acidental e meio que maluco como as ideias foram se encaixando, sabe? Eu estava com o builder aberto e o inspecionar do meu browser ativado (aliás, ele sempre fica ativado rs) de fato, eu não estava com a intenção de criar nada naquele momento, mas quando eu olhei para aqueles requests sendo executados na guia network dentro de WS (WebSocket), aquilo me gerou uma curiosidade absurda em entender o que estava acontecendo por debaixo dos panos, então foi aí que ao clicar em publicar no builder, um oceano de oportunidades apareceram em meus pensamentos, foi full dopamina na hora rs, e quando percebi meu cérebro já tinha lincado tudo o que precisava fazer para sanar algumas questões que me deixavam doido no processo de construção, evolução e publicação dos contatos inteligentes que eu gerenciava. Nascia então o CloneBots! Solução que todo desenvolvedor precisa ter na manga, pois com ele você pode: copiar uma estrutura de um bot para outro, clonar recursos, filas de atendimento e respostas prontas, além de clonar apenas um bloco de sua escolha, não é demais? Bom, chega de propaganda rs! Abaixo, eu conto um pouquinho de como foi a trajetória de um dos plugins mais queridos da comunidade!
O problema:
Em minha antiga empresa, nós trabalhávamos com 3 tipo de ambientes, são eles: DEV (Desenvolvimento), HML (Homologação) e PROD (Produção) e era muito oneroso a questão de baixar o fluxo de desenvolvimento e subir para homologação e depois ter que fazer esse mesmo processo de homologação para produção, nossa, isso realmente me deixava louco, pois quando você realizava esse processo, as variáveis de configuração do fluxo, não vinham, e como nossos bots tinham muitas, você teria que copiar uma a uma e passar para o próximo chatbot e como eu havia tido esse estalo, pensei, por que não criar algo que, pudesse me ajudar a nunca mais ter que ficar colocando essas informações na mão uma a uma?
O desenvolvimento:
Após ter criado todo setup de APIs que eu precisava em uma collection no meu Insomina, fui validar o processo com os meus pares, e eles ficaram impressionados em como isso poderia facilitar a construção dos nossos contatos inteligentes! Bom, eu arrumei um outro problema, né? Como fazer com que essa collection ficasse disponível para que todos conseguissem usufruir daquela tão recente descoberta? Não teve jeito, tive que sair do Insomnia para criar uma espécie de “instância” do projeto que até então não tinha nome, e é até engraçado recordar disso, pois os meus pares me chamavam Albieri (Personagem de um cientista da novela o Clone) até que em uma dessas brincadeiras surgiu o nome CloneBots e pegou de vez!
Bem! Como eu precisava fazer com que todos utilizassem o CloneBots em sua máquina, resolvi então desenvolver uma versão Web em ReactJS (FrameWork para desenvolvimento Web) que estava estudando, ficou massa demais! Hospedei ele no heroku e divulguei o link com a minha equipe. Nessa primeira versão ele ficou desta forma:
Algumas semanas depois que todos já estavam familiarizados com a versão Web do CloneBots, pensei… por que não criar uma versão com mais opções e que outras pessoas além dos meus pares pudessem usar? Dado esse questionamento, tive a ideia de transformar essa pagina Web em um plugin que, ficasse disponível na loja do Chrome Web Store para que as pessoas pudessem baixar e utilizar através do seu navegador, então mudei a interface do CloneBots para ficar mais amigável para aquele novo formato, e ele ficou desta forma.
Após alguns meses nesse formato e com uma aderência muito bacana da comunidade referente a utilização, tive a oportunidade de adaptar o CloneBots para que o mesmo fosse disponibilizado na plataforma da TakeBlip como uma extensão oficial, eu fiquei muito feliz por isso, pois era o primeiro plugin que foi desenvolvido por uma pessoa que não era um Take.Ser rs! Esse reconhecimento e confiança foi incrível e encorajador para mim.
Desafios encontrados:
O principal desafio, a meu ver, foi sintetizar várias ideias que eu tinha em um modelo reduzido e enxuto para que a interface não ficasse carregada com muitas opções deixando o usuário confuso sem saber o que fazer, mas é claro que a parte tecnológica também foi um desafio e bem grande!
Publicação e deploy:
Após ter sido localhost e estar hospedado no heroku, atualmente o CloneBots está hospedado no gitHub, Eu utilizo o serviço deles para gerenciar paginas estáticas que é o gitpages.
Não vou me aprofundar em como tudo isso funciona, mas para quem tiver interesse em mais detalhes, você pode achar artigos no google que te darão mais informações sobre esse tema, como esse aqui: (https://rodrilima.medium.com/react-como-fazer-o-deploy-no-github-pages-87f6a6fde370)
Considerações finais
Eu utilizo a plataforma desde 2016 (nem existia builder rs), e fico contente em ver como de lá para cá as coisas evoluíram, esta cada vez mais fácil utilizar a solução!
Não é fazendo um jabá aqui, mas só foi possível criar o CloneBots pelo fato da plataforma disponibilizar suas APIs e ter uma documentação de fácil entendimento, por isso eu penso que a TakeBlip sempre vai estar um passo a frente das concorrentes, é difícil você ter essa gama de APIs disponíveis para um desenvolvedor exercitar sua criatividade.