Objetivo do Projeto: Implementar uma solução em aplicativo feito em flutter para que as requisições de contato feitas pelos vendedores sejam armazenadas localmente quando não houver conexão com a internet e sincronizadas com o servidor assim que a conectividade for restabelecida. O back-end do aplicativo é desenvolvido em
Node.js e utiliza o banco de dados BigQuery.
Funcionalidades Requeridas:
1. Armazenamento Local (No App Flutter):
◦ Implementar um banco de dados local (como SQLite) para armazenar as requisições de contato feitas quando o dispositivo estiver offline.
◦ Cada registro deve conter os seguintes dados:
▪ Identificação do vendedor.
▪ Identificação do cliente.
▪ Data e hora do contato.
▪ Status (se já foi sincronizado com o servidor)
2. Sincronização com o Servidor:
◦ Desenvolver uma funcionalidade que detecte automaticamente quando a conexão com a internet é restaurada.
◦ Implementar um mecanismo para que todas as requisições armazenadas localmente sejam enviadas ao servidor (API em
Node.js) e armazenadas no banco de dados BigQuery.
◦ Garantir que as requisições sejam marcadas como sincronizadas localmente após o envio bem-sucedido.
3. Funcionalidade de Reenvio:
◦ Adicionar uma lógica de reenvio automático para requisições que falhem na primeira tentativa de sincronização.
Requisitos Técnicos:
• App Front-End: Flutter (Dart)
• Banco de Dados Local: SQLite
• Back-End:
Node.js,
Express.js (caso aplicável)
• Banco de Dados Principal: BigQuery
• Outras Ferramentas: Git para versionamento de código
Entrega Esperada:
• Código-fonte atualizado do app Flutter.
• Código atualizado do back-end em
Node.js (se necessário).
• Documentação sobre como a funcionalidade de armazenamento local e sincronização foi implementada.
• Testes realizados para garantir a funcionalidade offline e de sincronização.
Delivery term: Not specified