Aplicativo da Web orientado a banco de dados: como lidar com o uso offline

Estou desenvolvendo um aplicativo Web usandoLaravel (uma estrutura PHP). O aplicativo será usado por cerca de 30 dos meus colegas de trabalho em seus laptops com Windows.

Meus colegas de trabalho entrevistam pessoas regularmente. Eles usarão o aplicativo Web para adicionar um novo perfil a um banco de dados assim que entrevistarem alguém pela primeira vez e anexarão notas a esses perfis nas visitas subseqüentes. Perfis e notas são armazenados usando o MySQL, mas como estou usando o Laravel, eu poderia facilmente mudar para outro banco de dados.

Às vezes, meus colegas de trabalho precisam entrevistar as pessoas quando estão offline. Eles podem visitar um grupo de entrevistados, adicionar alguns perfis e adicionar notas aos existentes durante uma sessão sem acesso à Internet.

Como devo abordar isso?

Com um servidor da web local em todos os laptops. Eu vi aplicativos fornecidos com algum tipo de instalador, incluindo uma pilha LAMP, mas não consigo encontrar nenhuma documentação sobre isso.Eu poderia instalar o aplicativo e algo como XAMPP em todos os laptops. Isso seria possível, mas no futuro mais pessoas poderão usar o aplicativo e nem todas poderão estar localizadas nas proximidades.Eu poderia usar técnicos de serviço, talvez em conexão com uma biblioteca comoAcima, acima. Esta parece ser a abordagem mais elegante.

Gostaria de experimentar a opção (3), mas meu aplicativo é orientado por banco de dados e não tenho certeza se eu poderia realizar essa abordagem:

Seria possível gravar todos os dados (relevantes) do banco de dados para, digamos, um arquivo JSON que pudesse ser acessado em vez do banco de dados no modo offline? Não precisamos lidar com muitos dados (menos de 100 pequenos registros de dados devem estar disponíveis durante uma sessão de entrevista).Quando meus colegas de trabalho adicionam perfis ou anotações no modo offline, existe alguma maneira de "Serviço da Web" de inserir dados no banco de dados que foi inserido?

obrigado
Pida

questionAnswers(2)

yourAnswerToTheQuestion