Inventário do código em 29/09/2026. A web usa Next.js, Prisma e serviços do servidor. O Android atual usa Room e funciona offline; o backup .wfpbackup transporta dados entre instalações, mas não sincroniza alterações em tempo real.
A versão Android 1.1.0 inclui a nova tela de desbloqueio ilustrada. Ela foi verificada no Samsung SM-S908E com biometria/PIN e preservação dos dados restaurados.
Legenda: sim = fluxo principal equivalente; parcial = tela existe, mas faltam operações ou análises; local = alternativa offline; não = sem equivalente no Android.
| Tela/fluxo web | Android atual | Diferença relevante |
|---|---|---|
/dashboard |
Parcial | Indicadores e próximas ações existem; os cartões de RSVP, presentes, risco e atividade não têm todos os mesmos recortes da web. |
/dashboard/insights |
Parcial | Indicadores, caixa e riscos locais existem; Curva S, burndown e waterfall detalhados não foram portados. |
/dashboard/reports e 10 entradas |
Parcial | Há um hub móvel e telas resumidas para fluxo de caixa, funil, riscos, convidados, presentes, tarefas, lua de mel, enxoval e atividade. Gráficos, séries temporais e filtros da web ainda diferem. |
/dashboard/vendors |
Sim | Lista, edição, filtros e comparação locais. |
/dashboard/vendors/compare |
Parcial | Comparação local mostra valores, pagamentos, avaliação e status; recortes e visualização não são idênticos. |
/dashboard/vendors/[id] |
Parcial | Página dedicada móvel reúne contatos, observações, cláusulas, contratos, PDFs, inclusive versões anteriores arquivadas, orçamento e pagamentos. Assinatura formal da web ainda não tem fluxo móvel. |
/dashboard/venues |
Sim | Cadastro, busca e edição locais. |
/dashboard/venues/[id] |
Parcial | Página dedicada móvel mostra condições, restrições, checklist e anexos; faltam alguns campos de edição da web. |
/dashboard/tasks |
Parcial | Tarefas, prazos, prioridades e modelos locais; automações/avisos dependentes do servidor diferem. |
/dashboard/payments |
Parcial | Parcelas, status, multa e juros locais; notificações por email/WhatsApp da web não rodam offline. |
/dashboard/income, /assets, /goals |
Sim | Cadastros e totais locais; projeção e visualização têm diferenças. |
/dashboard/guests, /guests/groups, /guests/import |
Parcial | Lista, grupos, RSVP manual, CSV e XLSX Wedy; importação e envio em lote da web têm fluxos distintos. |
/dashboard/gifts, /gifts/[id]/pix |
Parcial | Presente e Pix individual com valor e identificador do presente; baixa continua manual, sem confirmação automática. |
/dashboard/wedding-day, /wedding-day/seating |
Parcial | Cronograma, plano B, check-in e mesas locais; não há arrastar e soltar da web. |
/dashboard/honeymoon, /trousseau |
Parcial | Cadastro e resumos locais; alguns campos, moedas de item e gráficos ainda diferem. |
/dashboard/communications/announcements (Avisos) |
Não | Avisos com público filtrado existem só na web; a projeção do backup rotula todos os destinatários de broadcast como INVITE_*. |
/dashboard/communications/save-the-date, /communications/invitations |
Parcial | Modelo local, anexo, envio individual pelo compartilhamento do Android e confirmação manual. Disparos em lote, controle de entrega, PIN e links públicos de RSVP exigem o servidor web. |
/dashboard/settings, /onboarding |
Local | Ajustes do evento, idioma, moeda, Pix, backup e segurança do aparelho. O wizard e configurações de servidor da web não foram reproduzidos. |
/dashboard/profile, /profile/change-password |
Não | Contas, senha e 2FA são conceitos do servidor; o Android offline usa biometria ou PIN do aparelho. |
/dashboard/help |
Parcial | Ajuda móvel curta; conteúdo extenso e histórico da web não foram portados. |
/login, recuperação de senha e /rsvp/[token] |
Não | Autenticação e RSVP público dependem de servidor acessível. O Android registra respostas manualmente. |
O convite móvel agora seleciona um anexo do modelo, verifica o tamanho e SHA-256 do arquivo guardado no Room e compartilha uma URI content:// temporária, com permissão apenas de leitura. A ação ACTION_SEND inclui EXTRA_STREAM, o tipo MIME e o texto personalizado. Sem anexo, o link wa.me continua abrindo diretamente a conversa do número informado. Com mídia, o WhatsApp exige que o usuário selecione e confira o destinatário. Abrir o WhatsApp não comprova a entrega; a marcação de envio permanece manual.
O arquivo de backup preserva o SQLite e os uploads da web, inclusive dados que ainda não têm interface móvel. A restauração v2 confere cada contrato e anexo do SQLite com sua representação Android e recusa um pacote com contrato ou PDF faltante. A prévia informa as contagens de contratos e PDFs, incluindo versões arquivadas. Preservação de dados não equivale a paridade funcional.
Em 29/09/2026, a cópia web local foi restaurada em um banco temporário no Samsung SM-S908E: 339 registros móveis, 10 arquivos, 31 tabelas web, 7 contratos e 7 PDFs de contrato. Todos os BLOBs passaram na verificação de SHA-256. O teste apagou o pacote temporário e os arquivos de senha do aparelho ao terminar; os dados fictícios de interface foram removidos antes de instalar o APK de produção.
O backup real escolhido pelo usuário no aparelho teve prévia íntegra de 339 registros móveis, 10 anexos, 32 tabelas web, 7 contratos e 7 PDFs de contrato. Após confirmação e autenticação no próprio celular, a restauração na versão de produção foi concluída. A lista mostrou 7 contratos; o detalhe do fornecedor exibiu contato, cláusulas e PDF, que abriu no Adobe Acrobat. Uma atualização do APK com a mesma assinatura preservou os dados restaurados e corrigiu a apresentação da data de vencimento importada como segundos Unix.
No convite restaurado, o compartilhamento do Android mostrou 1 imagem com a mensagem. Ao escolher o WhatsApp e selecionar a própria conversa no teste, a prévia exibiu a imagem e a legenda, antes do botão de enviar. O teste foi cancelado e o convite não foi marcado como enviado.