Come strutturare questo database simile a Snapchat


Migliore risposta

tabelle di esempio

Utenti – id – nome utente – email – nome – password (salato e con hash) – altri campi secondo necessità

Canali – user\_id – channel\_title – friend\_id

Snap – id – user\_id – titolo – didascalia – data

Channel\_Subscribers – channel\_id – user\_id

Snap\_Reaction – snap\_id – user\_id – reazione (like, lol, cry , arrabbiato ecc.)

Commenti

Il requisito principale che ti causerà la maggior parte dei mal di testa sarà la condivisione parziale . Condividere con tutti è facile, pubblica post sul canale e tutti gli iscritti possono vederlo. La condivisione parziale è molto più problematica, perché lutente dovrebbe scegliere ogni abbonato con cui condividere limmagine. Come puoi immaginare, è semplice con 5 iscritti, impossibile da gestire con più di 500 (il punto di rottura è probabilmente al di sotto di quel numero).

Una possibile soluzione potrebbe essere quella di creare una sorta di impostazione di gruppo, in cui gli utenti potrebbe indirizzare un gruppo. Forse quel target si basa sulle interazioni con gli snap; come un gioco da ragazzi e vieni aggiunto al gruppo di scatti, commenta ed è un gruppo più inclusivo a cui vieni aggiunto. Questo potrebbe essere gestito automaticamente, magari aggiungendo anche un livello di pagamento, che consentirebbe di monetizzare lapp come quota di compartecipazione alle entrate con lutente (tipo di mela standard diviso 70 lutente / 30 allapp). Targeting di un gruppo è molto più semplice sullinterfaccia utente e limitarlo a 3 o 4 gruppi rende il targeting più semplice per lutente.

I miei due centesimi.

Risposta

In cima alla mia testa, come sviluppatore, non come amministratore di database, ti consiglierei di impostare il database come segue:

== snap\_table ==

snapid | fromuserid | snaptext | snapimage | timestamp

== snap\_to\_friend\_relation\_table ==

id | snapid | touserid

Questo ti permette di inviare uno snap a più utenti utilizzando “snap\_to\_friend\_relation\_table”. Ha senso? Posso provare ad essere più dettagliato se necessario….

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *