Ho una domanda cruciale per il mio progetto di fine anno.
Sfondo
La mia applicazione web consente agli utenti di creare altre applicazioni web basate su drag & drop (all'interno del dominio della webapp).
Queste applicazioni web possono contenere elementi regolari, ma anche widget funzionali sotto forma di componenti ReactJS che possono persino comunicare con il nostro back-end.
Quando l'utente carica una webapp auto-creata, carica la descrizione per un sito web (formato * .zp, che in realtà è json), che io costruisco sul server (cioè, il file json viene convertito in una pagina Web effettiva con css, js correttamente compilato).
Ecco lo schema per il POST di una singola pagina web, che spiegherò di seguito:
- L'utente crea una pagina Web che viene trasformata in un file json descrittivo (* .zp);
- Il file json viene caricato sul server NodeJS, che crea l'HTML (i componenti React JS possono essere resi in html sul server), il file css (basato su algoritmo autodidatta) e JS (minorato / concatenato).
Richiede la logica di conversione e i processi figlio NodeJS per traspolare anche i componenti ESeacce ReactJS con il webpack; - HTML, CSS e JS (minified / concatenated) integrato vengono inviati al server Java Spring REST per archiviarli nel db. Qui il mio piano è di usare Java come semplice server REST.
Nel caso in cui ti chiedi: io uso Java Spring perché il mio progetto EOY è per un laureato Java.
Quando l'utente desidera eseguire il rendering di una pagina Web, i file possono essere immediatamente scaricati dai servizi Java (che potrebbero implementare ulteriore memorizzazione nella cache).
Ho le seguenti domande correlate:
- Vedete lacune nell'architettura che richiedono una correzione?
- Pensavo che l'archiviazione di html + JS + * .zp (json che descriveva il sito) fosse eseguita come una transazione in Java. È un flusso di lavoro valido? In tal caso, qual è il modo migliore per inviare html, css, js e * .zp formando il NodeJS al server Java in un colpo solo?
- Hai qualche consiglio relativo alla scelta di db? La mia intenzione era di usare un mix tra filesystem e MongoDB per il formato * .zp.
Apprezzo il tuo aiuto, la risposta a questa domanda è molto importante per me.