Sto sviluppando un'API NodeJS che verrà utilizzata, per ora, da un'app Android.
Ho bisogno di 2 cose importanti qui: un feed di notizie e un sistema di notifica. E ho bisogno che sia scalabile.
Sto usando MongoDB con Express per questo progetto.
Sistema di notifica
Informazioni sul sistema di notifica Sto pensando a un documento che dovrebbe contenere:
- attore : id che fa riferimento a un oggetto Utente
- verbo : una stringa che definisce il tipo di azione: aggiungi amico, commento, ecc.
- oggetto : un ID che si riferisce a: Utente, Attività, qualunque sia, a seconda del tipo di verbo. Otterrei l'oggetto corretto in base al valore del verbo.
Il mio più grande dubbio su questa struttura è: come posso restituire tutti questi dati alla mia app per Android. È corretto restituire un JSON con la notifica non popolata (solo ID) e l'app Android utilizza gli ID e richiede l'API per creare la notifica. Voglio dire, il client farebbe una chiamata a: / getUser /: id per ottenere il nome utente, quindi / getActivity /: id per ottenere i dettagli dell'attività, si ottiene il punto ... Non sarebbe che molte chiamate solo per una notifica?
Perché, immagina un utente che riceve 50 notifiche, sarebbero solo circa 100 richieste per ottenere i dettagli della notifica. Se ciò accade agli utenti 1K, sarebbero richieste 10K per ottenere i dettagli della notifica.
News Feed
Qual è il modo migliore con il mio cliente per ottenere l'ultima attività? Basta interrogare il database per gli ultimi dati inseriti che corrispondono ai criteri?
Non dovrei soffermarmi troppo su questo perché l'applicazione partirà in piccolo, ma mi piacerebbe iniziare con un design non così cattivo. Questa è la mia prima applicazione di questo tipo, quindi non so cosa aspettarmi.
Grazie!