Ir para o conteúdo principal

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 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 o contam com o acesso a internet, a utilizaçãutilização do sistema atualmente para realizar as vistorias o seria o eficiente por 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 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ão cero Romã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:

image-1616083898582.pngimage-1616083898582.png

Figura 1. CriaçãCriação de dois inputs para armazenamento local  dos valores.

image-1616083766194.pngimage-1616083766194.png

Figura 2. DemonstraçãDemonstração do 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, 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, 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.