AreaCacaoDocs
Análise sensorialAvaliação digital

PWA offline-first

Como funciona a avaliação digital sem rede e como sincroniza quando a ligação volta.

O que é

A avaliação digital é uma PWA (Progressive Web App) offline-first. Isto significa que:

  • Abre como uma página web normal (não é uma aplicação de loja).
  • Depois de aberta, funciona mesmo que perca a ligação.
  • Quando a ligação volta, sincroniza automaticamente os dados com o servidor.

Porque é importante

O atelier do chocolateiro nem sempre tem boa ligação: câmaras frigoríficas com paredes grossas, caves, cozinhas industriais com Wi-Fi limitado. Uma ferramenta que deixa de funcionar quando há uma falha de rede é inviável na prática.

Como funciona

Primeira abertura (com rede)

  1. O provador abre a ligação única. A PWA é transferida e fica em cache no navegador.
  2. Os dados básicos da prova (amostras, protocolo, atributos) também são transferidos.
  3. A partir deste momento, o provador pode trabalhar mesmo que a ligação falhe. Quando a prova já está guardada no telemóvel, o ecrã de boas-vindas indica-o com o aviso Já pode provar sem ligação.

Durante a avaliação (com ou sem rede)

  • Cada amostra é guardada ao tocar em Guardar e voltar ao seletor. Se houver rede, é enviada para o servidor nesse momento.
  • Se não houver rede, a amostra fica guardada no dispositivo (IndexedDB) e é enviada automaticamente assim que a ligação voltar; enquanto houver gravações pendentes, a aplicação volta a tentar a cada 30 segundos.
  • Se o provador abrir a ficha sem ligação e o telemóvel tiver a cópia da prova, vê o aviso «Sem ligação: está a provar com a cópia guardada neste telemóvel. O que pontuar será enviado automaticamente assim que a rede voltar.»

Depois de enviar

  • O provador envia a avaliação com Confirmar e enviar: na análise descritiva e nas provas pontuadas amostra a amostra, esse botão está no ecrã de revisão (a que se chega com Rever e enviar); nas provas triangular, comparação por pares, duo-trio e ordenação, está na própria ficha e o envio confirma-se depois com Enviar definitivamente. Se nesse momento não houver rede, o ecrã final mostra Envio pendente: a avaliação fica registada no telemóvel.
  • Assim que o dispositivo voltar a ter rede, a avaliação é enviada para o servidor e aparece como concluída no detalhe da prova do líder.

Indicador de estado

Por baixo do cabeçalho, o provador vê uma pequena etiqueta que indica o estado da gravação e da sincronização. Quando está tudo em dia e há ligação, a etiqueta fica oculta. Os estados que pode mostrar são:

  • A guardar… — a alteração está a ser guardada no dispositivo.
  • A sincronizar… / A sincronizar N pendentes… — as alterações estão a ser enviadas para o servidor.
  • Sem ligação — sem rede e sem nada pendente de envio.
  • Sem ligação · N guardados no dispositivo — sem rede, com alterações guardadas no dispositivo à espera de envio.
  • Erro de sincronização — algo falhou no envio; tente novamente quando tiver uma rede estável.

Não existe um estado com a indicação «Guardado»: quando há ligação e nada pendente, a etiqueta simplesmente desaparece.

O que acontece se fechar o navegador

  • Os dados estão guardados no dispositivo. Ao abrir de novo a ligação no mesmo dispositivo e no mesmo navegador, recupera a avaliação em curso.
  • Se mudar de dispositivo antes de sincronizar, os dados do primeiro dispositivo ficam lá até voltar a abri-lo. Se abrir a ligação sem rede num dispositivo que não tem cópia, verá «Sem ligação, e este telemóvel não tem cópia desta prova…». Para não perder dados: termine a avaliação no mesmo dispositivo em que a começou e certifique-se de que tem rede no fim para sincronizar.

Limitações, com franqueza

  • A primeira abertura exige ligação para transferir a PWA e os dados da prova.
  • A sincronização com o servidor precisa de ligação (a aplicação não faz telepatia).
  • Se fechar o navegador, perde a sessão e o cookie — mas os dados persistem no IndexedDB até voltar a abrir a mesma ligação.

Nesta página