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)
- O provador abre a ligação única. A PWA é transferida e fica em cache no navegador.
- Os dados básicos da prova (amostras, protocolo, atributos) também são transferidos.
- 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.
Consentimento de dados
O que o provador vê ao abrir a ligação quando o passo de consentimento está ativo: aviso de privacidade e caixa de seleção obrigatória antes de começar.
Guia do avaliador
Como um provador responde a uma prova a partir do telemóvel: abrir a ligação, selecionar a amostra por código ou QR, preencher a ficha e enviar.