Ações que auxiliem a realização de vistoria no SUSIE offline
AçõAções que auxiliem a realizaçãrealização de vistoria no SUSIE offline
OBJETIVO
Elencar uma soluçãsolução para a realizaçãrealização de vistoria de maneira offline. Conforme a User Story : ““Eu como guardiãguardião, preciso realizar um estudo tecnolótecnológico de como realizar vistoria no susie offline”” presente na Sprint núnúmero 73 do time GuardiõGuardiões.
JUSTIFICATIVA
Visto que o IDARON, necessita que os fiscais de vistoria de terreno e estabelecimento precisam realizar a avaliaçãavaliação em campo e que, muitas vezes por ser ááreas afastadas da cidade nãnão contam com o acesso a internet, a utilizaçãutilização do sistema atualmente para realizar as vistorias nãnão seria tãtão eficiente por nãnão contar com recursos que utilizam armazenamento offline. A ideia inicial que embasa o estudo éé a possibilidade de disponibilizar os formuláformulários offlines e apóapós a conexãconexão com a internet, realizar o upload dos dados em nuvem.
RESULTADOS ESPERADOS
Encontrar maneiras, ferramentas e mémétodos que permitam a disponibilizaçãdisponibilização offline dos formuláformulários de vistoria no SUSIE. Definir a quantidade de pontos previstos para a funcionalidade em demandas conseguintes.
PossíPossíveis tarefas a serem realizadas utilizando o LocalStorage:
1 - AdaptaçãAdaptação dos formuláformulários checkList para salvamento das respostas localmente em um JSON (13 pontos).
2- Capturar os valores das respostas no localStorage de todos os CheckLists ( 5 pontos);
3- Realizar a sincronizaçãsincronização quando conectar àà internet com Json e Jquery (13 pontos);
4- Criar verificaçãverificação caso o formuláformulário tenha sido preenchido offline e online - um “merge”“merge” de alteraçõalterações (5 pontos).
PossíPossíveis tarefas a serem realizadas utilizando uma aplicaçãaplicação Mobile Flutter:
1 - Criar um projeto Flutter com identificaçãidentificação visual ao SUSIE (13 pontos);
2 - Realizar autenticaçãautenticação utilizando o SAURON na aplicaçãaplicação mobile Flutter (8 pontos);
3 - CriaçãCriação de uma API para integraçãintegração entre as questõquestões dos formuláformulários disponibilizados no SUSIE para realizaçãrealização do CheckList (8 pontos);
4 - Salvar as respostas preenchidas em um JSON (8 pontos) ;
5- Criar funçãfunção “sincronização”“sincronização” para o envio do JSON para o servidor (8 pontos);
6- Criar verificaçãverificação caso o formuláformulário tenha sido preenchido offline e online ao mesmo tempo - um “merge”“merge” de alteraçõalterações (5 pontos).
ENVOLVIDOS:
ENVOLVIDOS:
JoãJoãoCíCíceroRomãRomão Gomes de Oliveira- Raaby Liandry de Souza Teixeira
Welington Carvalho Gadelha
Diego da Silva Oliveira
Gerente de Desenvolvimento:
Janderson de Castro Thomaz
Product Owner:
Maria Luiza Coelho Guimarães
Scrum Master:
Edson Masami Hiraçaka
GLOSSÁRIO:GLOSSÁRIO:
IDARON - AgêAgência de Defesa SanitáSanitária e Agrosilvopastoril do Estado de RondôRondônia.
Upload- TransferêTransferência dados de um dispositivo local para um espaçespaço alocado no (servidor).
Offline - sem conexãconexão com a internet.
Flutter - Toolkit criada pelo Google para desenvolvimento de aplicaçõaplicações mobile “elegantes”“elegantes”.
Local Storage
Um dos recursos cotados a ser utilizado na construçãconstrução dos formuláformulários offlines, éé o Local Storage. Tal propriedade estáestá disponídisponível na linguagem de marcaçãmarcação HTML, no qual éé possípossível salvar, adicionar, recuperar e excluir dados localmente em navegador web, conforme Vasquez (2018).
Foi realizado um teste com duas questõquestões do sistema de acordo com o checklist realizado pelo Fiscal, conforme a imagem abaixo:
Figura 1. CriaçãCriação de dois inputs para armazenamento local dos valores.
Figura 2. DemonstraçãDemonstração do cócódigo para salvar respostas de um pequeno formuláformulário.
ApóApós codificar um pequeno formuláformulário com duas perguntas do checklist realizado pelo fiscal, foi feito um teste respondendo os campos do formuláformulário, tendo como resultado o armazenamento local (no navegador) das duas respostas das duas questõquestões disponibilizadas.
Figura 3. DemonstraçãDemonstração de criaçãcriação de perfil vinculado a um sistema.
SincronizaçãSincronização usando o LocalStorage
Conforme as pesquisas realizadas, a sincronizaçãsincronização dos dados armazenados localmente, pode ser utilizado JSON e Jquery, e consequentemente enviado via AJAX - Asyncronous Javascript e XML para o servidor.
Conforme as pesquisas realizadas, a sincronizaçãsincronização dos dados armazenados localmente, pode ser utilizado JSON e Jquery, e consequentemente enviado via AJAX - Asyncronous Javascript e XML para o servidor.
CriaçãCriação de uma aplicaçãaplicação Mobile utilizando o Flutter
A idealizaçãidealização da utilizaçãutilização desta tecnologia veio com a intençãintenção de realizar o preenchimento dos checklists da forma mais consistente possípossível. A criaçãcriação de uma aplicaçãaplicação para atender a funcionalidade designada, sósó seráserá possípossível, caso haja a criaçãcriação de uma API de integraçãintegração do Susie, como forma de trazer as questõquestões do checklist do sistema.
ApóApós a realizaçãrealização da busca dos checklists dentro da aplicaçãaplicação Mobile, seráserá necessánecessário salvar em memómemória todas as questõquestões, para que o fiscal consiga realizar a vistoria.
A princíprincípio, o time supõsupõe que as respostas das questõquestões, seráserá salva em um JSON e que, para que seja enviado ao servidor, o mesmo seráserá deserializado e salvo.
Outra sugestãsugestão levantada pelo time, foi a conversãconversão de todas questõquestões respondidas pelo fiscal, em um hash base64. Ou seja, ao fim da vistoria, teráterá sido criado uma string com todos os hash’hash’s (exemplo utilizando o site Base64) das questõquestões respondidas, onde o fiscal poderápoderá copiar e colar em uma áárea do sistema responsáresponsável em converter a string de hash em JSON. ApóApós a conversãconversão, a aplicaçãaplicação seráserá responsáresponsável na transformaçãtransformação do JSON em um objeto e consequentemente, a persistêpersistências das questõquestões em banco.
CONCLUSÃCONCLUSÃO
ApóApós a anáanálise pelos integrantes do time GuardiõGuardiões, foram encontradas duas formas de realizar a sincronizaçãsincronização do checklist do sistema SUSIE, utilizando o LocalStorage ou uma aplicaçãaplicação Mobile Flutter. Com os estudos, foi possípossível identificar possípossíveis dificuldades com ambas tecnologias, [1] o desenvolvimento de uma tecnologia Mobile com o Flutter, nãnão éé um conhecimento em comum entre todos do time, podendo ocorrer algumas dificuldades atéaté a curva do aprendizado se tornar acentuada. [2] uma possípossível limitaçãlimitação de memómemória caso seja utilizado a tecnologia LocalStorage, isso porque alguns formuláformulários checkList possuem mais de 300 (trezentas) questõquestões e a capacidade de armazenamento local dos navegadores éé atéaté 5MB. [3] ambas implementaçõimplementações serãserão complexas de serem realizadas, tendo em vista a principal funçãfunção que éé salvar localmente uma massiva quantidade de respostas e quando conectadas àà internet, enviáenviá-las ao servidor, no entanto, a visãvisão do time éé que uma opçãopção mobile traria maior integridade ààs informaçõinformações que serãserão enviadas do que tratamentos utilizando propriedades do navegador. [4] visto o estudo realizado pelo time, tambétambém foi cogitado a viabilidade (tempo e financeira) da confecçãconfecção deste conjunto de funcionalidades, tendo em vista o históhistórico de baixa utilizaçãutilização em relaçãrelação ao SUSIE.
REFERÊREFERÊNCIAS
[1] BASE64, BASE64. Decode and Encode. 2010. DisponíDisponível em: Base64 Decode and Encode - Online. Acesso em: 17 mar. 2021.
[2] MICROSOFT, MICROSOFT. SincronizaçãSincronização de dados entre aplicativos Off e Online. 2014. DisponíDisponível em: SincronizaçãSincronização de dados entre aplicativos Off e Online (microsoft.com). Acesso em: 17 mar. 2021.
[3] VASQUEZ, Yane, JAGUARIBE TECH. Funcionalidade do Local Storage. 2018. DisponíDisponível em: https://medium.com/jaguaribetech/dlskaddaldkslkdlskdlk-333dae8ef9b8. Acesso em: 17 mar. 2021.