Dataversa
Coleta móvel de pesquisas com suporte offline, mídia e sincronização posterior.
Destaques do Projeto
Visão Geral
jhef@root: ~/dataversa-mobile$ cat README.md
Dataversa é um aplicativo mobile desenvolvido em Flutter para coleta estruturada de dados em pesquisas de campo. O aplicativo permite baixar questionários a partir de uma API remota e organizá-los localmente, possibilitando que pesquisadores realizem entrevistas e registrem respostas mesmo sem conexão com a internet. Os formulários são renderizados dinamicamente no app com suporte a regras de relevância, permitindo que perguntas sejam exibidas ou ocultadas com base nas respostas do usuário. A plataforma oferece suporte a diversos tipos de campos, incluindo captura de fotos, geolocalização, datas, múltipla escolha, ranking, matrizes e respostas abertas. Todas as respostas podem ser preenchidas e armazenadas localmente utilizando Isar, permitindo filtragem e gerenciamento offline antes do envio para a plataforma remota. O aplicativo também inclui recursos de exportação e backup, gerando arquivos ZIP contendo dados em JSON e imagens coletadas, que podem ser facilmente compartilhados. O projeto também envolve configurações nativas para builds Android e iOS e integração com APIs compatíveis com o padrão do LimeSurvey RemoteControl para sincronização de questionários e envio de respostas.
Stack
jhef@root: ~/dataversa-mobile$ ls ./tech
// Frontend mobile
// Dados locais
// Integrações
// Build e tooling
Principais Funcionalidades
Formulários dinâmicos
Renderização de questionários com múltiplos tipos de pergunta, obrigatoriedade e regras de relevância.
Catálogo de pesquisas
Download e organização local de pesquisas, grupos, perguntas e propriedades a partir da API remota.
Sincronização offline/online
Respostas ficam no dispositivo até o envio, com refresh de sessão e upload de registros e arquivos.
Banco local e backup
Persistência em Isar e geração de backup ZIP contendo JSON estruturado e imagens capturadas.
Sessão autenticada
Login por usuário e senha com session key remota mantida localmente para reautenticação.
Gestão de respostas
Listagem, busca, ordenação, filtros por status e fluxos de exclusão ou edição de respostas por pesquisa.
Marcos de Entrega
Base de campo
Estruturação do app Flutter para operação em campo, com navegação principal, injeção de dependências e autenticação por session key.
Catálogo offline de pesquisas
Implementação do download de pesquisas, grupos, perguntas e metadados com persistência local em Isar para uso sem conexão.
Motor de entrevistas
Construção do motor de formulários dinâmicos com regras de relevância, captura de mídia, geolocalização e múltiplos tipos de resposta.
Envio e resiliência operacional
Consolidação da gestão de respostas com filtros, upload incremental, backups ZIP e acabamento de release para a operação mobile.