Geral
Não consegui identificar quais outras formas de usar os recursos do usuário, além das
presentes em qualquer celular (gps, chamadas, banco local, etc) poderiam ser validadas.
Infra
Pelo que entendi, existe a necessidade de consultas à uma API para sincronizar a
aplicação com o server e com as demais aplicações. Aí cabe a necessidade, existe o
Firebase e até ambiente no Visual Studio Center que pode simplificar o acesso a uma
API e que, conforme o volume de dados, pode ser ajustável e contratar mais recursos de
infra sem quebrar a cabeça.
É possível que, com este tipo de recurso, torne a sincronização de forma assíncrona,
podendo concluir o processo do usuário, salvando as informações localmente, e as
publicando em seguida; Outra possibilidade é que, em caso de boom, é possível
aumentar o limite de consultas à API e tamanho da base de dados
Caso partirmos para recursos próprios, como a API própria, toda a infra por trás deve
ser definida. É possível usar recursos como Azure e Docker, onde a infra pode ser
aumentada ou diminuída de forma mais automatizada, mantendo assim a aplicação.
Firebase (https://firebase.google.com/?hl=pt-br)
Alguns serviços:
- Hosting
- Storage
- Realtime Database
- NoSQL
- Documentos JSON
- CRUD e Rest
- CloudMessaging
- PushNotifications
- Authentication
- Analytics
- outros…
Preços: https://firebase.google.com/pricing/?hl=pt-br
Google:
https://developers.google.com/web/progressive-web-apps/
https://developers.google.com/web/fundamentals/codelabs/your-first-pwapp/?hl=pt-br
Ações:
- Criar PoC (Proof of Concept), prova de conceito, ou Protótipo para validar a
necessidade e o caminho a ser seguido.