Implementação de offline-first com sincronização inteligente
Arquitetura de app que funciona sem internet e sincroniza dados quando a conexão retorna.
Objetivo do Prompt
Criar uma experiência de app que funcione perfeitamente offline, com resolução de conflitos e sincronização transparente para o usuário.
Exemplo Real de Uso
A agritech goiana CampoDigital tem um app usado por 3 mil produtores rurais em áreas com internet intermitente. Os produtores registram dados de colheita, aplicação de insumos e inspeções no campo, mas perdem dados quando estão sem sinal. Precisam de um app que funcione 100% offline.
Prompt
Projete uma arquitetura offline-first para [NOME DO APP], um app [REACT NATIVE/FLUTTER] usado por [PÚBLICO] em cenários de [DESCREVA O CENÁRIO DE CONECTIVIDADE].
**Operações que devem funcionar offline:**
1) [OPERAÇÃO 1: ex. criar registro de inspeção com fotos]
2) [OPERAÇÃO 2: ex. consultar histórico de registros]
3) [OPERAÇÃO 3: ex. editar registros existentes]
4) [OPERAÇÃO 4: ex. visualizar mapas/dashboards]
**1) Banco de Dados Local:**
- Escolha de DB: WatermelonDB vs. Realm vs. SQLite (expo-sqlite)
- Schema do banco local (tabelas, relacionamentos, índices)
- Migrations strategy para atualizações do schema
- Storage de arquivos (imagens, documentos) no filesystem local
- Limite de armazenamento e política de cleanup
**2) Queue de Sincronização:**
- Fila de operações pendentes (FIFO)
- Estrutura de cada operação: `{ id, type, entity, payload, timestamp, retries }`
- Persistência da fila (sobrevive a app kill/restart)
- Priorização: operações críticas primeiro
- Retry com exponential backoff
- Batch sync: agrupar operações para eficiência
**3) Estratégia de Sincronização:**
- Detecção de conectividade (NetInfo + polling real)
- Sync automático quando conexão retorna
- Sync manual (pull-to-refresh)
- Background sync (se suportado pelo OS)
- Sync parcial: só enviar deltas (não dados completos)
- Compression de payload para economia de dados móveis
**4) Resolução de Conflitos:**
- Cenário: mesmo registro editado offline em 2 dispositivos
- Estratégia: Last-Write-Wins vs. Merge automático vs. Prompt ao usuário
- Conflict detection: version vectors ou timestamps
- Merge rules por campo (ex: texto → merge, número → LWW)
- Log de conflitos resolvidos para auditoria
**5) UX Offline:**
- Indicador visual de status de conexão (banner discreto)
- Badge de "pendente de sync" em registros offline
- Feedback ao sincronizar: "3 registros sincronizados"
- Tratamento de sync failure: alertar sem bloquear uso
- Estimativa de dados pendentes (tamanho)
**6) Testes:**
- Simular offline no emulador/dispositivo
- Testes de conflito (criar conflito intencional)
- Stress test: 1000 operações offline → sync
- Edge cases: sync parcial, app killed durante sync
Inclua código para o SyncManager e o hook `useOfflineSync()` em [REACT NATIVE/FLUTTER].Como usar este prompt
- 1Cole o prompt diretamente no ChatGPT, Claude, Gemini ou qualquer assistente de IA.
- 2Personalize os campos entre colchetes [assim] com suas informações específicas.
- 3Para melhores resultados, forneça contexto adicional sobre seu caso de uso.
- 4Combine múltiplos prompts em uma conversa para resultados mais completos.
- 5Salve os prompts que mais usa para acesso rápido no futuro.
Prompts relacionados
Ver todosArquitetura de app React Native com navegação e estado global
Estrutura completa de projeto React Native com React Navigation, estado global e organização de código.
Sistema de push notifications com segmentação e analytics
Implementação completa de push notifications com Firebase Cloud Messaging, segmentação de usuários e métricas.
Estratégia de App Store Optimization (ASO) para apps brasileiros
Otimização de listing na App Store e Google Play para maximizar downloads orgânicos no Brasil.
Implementação de Flutter com clean architecture e BLoC pattern
Arquitetura Flutter escalável com separação de camadas, BLoC para estado e injeção de dependências.
Explore outras categorias de prompts
Assine o AulasDeIA para desbloquear
Acesse 10.000+ prompts prontos para usar em qualquer profissão, além de todos os cursos da plataforma.
Cancele quando quiser. Sem multas.
