AreaCacaoDocs
Análise sensorialAvaliação digital

PWA offline-first

Como a avaliação digital funciona sem internet e como ela sincroniza quando a conexão volta.

O que é

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

  • Ela abre como uma página web comum (não é um app de loja).
  • Depois de aberta, funciona mesmo se você perder a conexão.
  • Quando a conexão volta, ela sincroniza os dados com o servidor automaticamente.

Por que é importante

O ateliê do chocolateiro nem sempre tem boa conexão: câmaras frias com paredes grossas, porões, cozinhas industriais com Wi-Fi limitado. Uma ferramenta que cai quando o sinal oscila é inviável na prática.

Como funciona

Primeira abertura (com internet)

  1. O painelista abre o link único. O PWA é baixado e fica em cache no navegador.
  2. Os dados básicos da degustação (amostras, protocolo, atributos) também são baixados.
  3. A partir desse ponto, o painelista pode trabalhar mesmo se a conexão cair. Quando a degustação já está salva no celular, a tela de boas-vindas avisa com a mensagem Você já pode degustar sem conexão.

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

  • Cada amostra é salva ao tocar em Salvar e voltar ao seletor. Se houver internet, ela é enviada ao servidor na hora.
  • Se não houver internet, a amostra fica salva no aparelho (IndexedDB) e é enviada sozinha assim que a conexão voltar; enquanto houver salvamentos pendentes, o app tenta de novo a cada 30 segundos.
  • Se o painelista abrir a ficha sem conexão e o celular tiver a cópia da degustação, verá o aviso “Sem conexão: você está degustando com a cópia salva neste celular. O que você pontuar será enviado automaticamente assim que o sinal voltar.”

Depois de enviar

  • O painelista envia a avaliação com Confirmar e enviar: na análise descritiva e nos testes pontuados amostra por amostra, esse botão fica na tela de revisão (que se abre com Revisar e enviar); nos testes triangular, comparação pareada, duo-trio e ordenação, ele fica na própria ficha e o envio é confirmado depois com Enviar definitivamente. Se não houver internet nesse momento, a tela final mostra Envio pendente: a avaliação fica registrada no celular.
  • Assim que o aparelho volta a ter internet, a avaliação sobe para o servidor e aparece como concluída no detalhe da degustação do líder.

Indicador de status

Abaixo do cabeçalho, o painelista vê uma pequena pílula que indica o status de salvamento e de sincronização. Quando está tudo em dia e há conexão, a pílula fica oculta. Os status que ela pode mostrar são:

  • Salvando…: a alteração está sendo salva no aparelho.
  • Sincronizando… / Sincronizando N pendentes…: as alterações estão sendo enviadas ao servidor.
  • Sem conexão: sem internet e sem nada pendente de envio.
  • Sem conexão · N salvos no aparelho: sem internet, com alterações salvas no aparelho esperando para subir.
  • Erro de sincronização: algo falhou no envio; tente de novo quando tiver uma conexão estável.

Não existe um status chamado “Salvo”: quando há conexão e nada pendente, a pílula simplesmente desaparece.

O que acontece se eu fechar o navegador

  • Os dados ficam salvos localmente. Ao abrir o link de novo no mesmo aparelho e no mesmo navegador, você recupera a avaliação em andamento.
  • Se você trocar de aparelho antes de sincronizar, os dados do primeiro aparelho ficam nele até você abrir o link de novo ali. Se você abrir o link sem conexão em um aparelho que não tem cópia, verá “Sem conexão, e este celular não tem cópia desta degustação…”. Para não perder dados: termine a avaliação no mesmo aparelho em que começou e confira se há internet no final para sincronizar.

Limitações, com franqueza

  • A primeira abertura exige conexão para baixar o PWA e os dados da degustação.
  • A sincronização com o servidor precisa de conexão (o app não faz telepatia).
  • Se você fechar o navegador, perde a sessão e o cookie — mas os dados continuam no IndexedDB até você abrir o mesmo link de novo.

Nesta página