Realizziamo un'applicazione desktop offline in Electron che deve essere sincronizzata quando l'utente va online.
Sqlite viene utilizzato come database quando è offline e viene sincronizzato con Postgres sul server quando l'utente passa online tramite un server js nodo con un'API REST.
Una delle funzionalità è caricare i file nell'applicazione.
Le entità per lo scenario sono: Un "Progetto" ha molti "File"
Molti utenti possono caricare / eliminare file per lo stesso progetto e possono essere eseguiti quando l'utente è offline.
Quale sarebbe un modo corretto per implementarlo? - L'utente carica il file nell'applicazione. (Questo dovrebbe solo copiare il file nel filesystem?) - Il database locale salva i file con il percorso del file con la data creata - Quando l'utente va online, recupera prima i file dal server. Controlla quale file è nuovo / aggiornato / cancella, lo sincronizza di conseguenza. - Quindi carica i nuovi file che vengono importati offline?
Anche il server dei nodi carica i file su un bucket S3, il che significa che il database consisterebbe nell'URL dell'immagine caricata. Ma l'app offline avrebbe il "percorso file" ....
Hmm, molto confuso, qualche suggerimento?