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)
- O painelista abre o link único. O PWA é baixado e fica em cache no navegador.
- Os dados básicos da degustação (amostras, protocolo, atributos) também são baixados.
- 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.
Consentimento de dados
O que o painelista vê ao abrir o link quando a etapa de consentimento está ativa: aviso de privacidade e caixa de seleção obrigatória antes de começar.
Guia do avaliador
Como um painelista responde a uma degustação pelo celular: abrir o link, selecionar a amostra pelo código ou QR code, preencher a ficha e enviar.