Cum să structurați acest Snapchat ca bază de date


Cel mai bun răspuns

tabele eșantion

Utilizatori – id – nume de utilizator – e-mail – nume – parolă (sărată și marcată) – alte câmpuri, după cum este necesar

Canale – user\_id – channel\_title – friend\_id

Snaps – id – user\_id – title – caption – date

Channel\_Subscribers – channel\_id – user\_id

Snap\_Reaction – snap\_id – user\_id – reacție (cum ar fi, lol, cry , supărat etc)

Comentarii

Cerința principală care vă va provoca cele mai multe dureri de cap va fi cota parțială . Partajarea cu toată lumea este ușoară, postarea pe canal și toți abonații o pot vedea. Partajarea parțială este mult mai problematică, deoarece utilizatorul ar trebui să aleagă fiecare abonat cu care să partajeze imaginea. După cum vă puteți imagina, este simplu cu 5 abonați, imposibil de gestionat cu peste 500 (punctul de rupere este probabil sub acest număr).

O posibilă soluție ar putea fi crearea unui fel de setare de grup, în care utilizatorii ar putea viza un grup. Poate că ținta respectivă se bazează pe interacțiunile cu instantaneele; ca un instantaneu și adăugați-vă la grupul de instantanee, comentați și este un grup mai inclusiv la care veți fi adăugat. Acest lucru ar putea fi gestionat automat, adăugând poate și un nivel de plată, ceea ce vă va permite să generați bani din aplicație ca o cotă de venit cu utilizatorul (tipul standard de măr împarte 70 utilizatorul / 30 în aplicație). Direcționarea către un grup este mult mai ușoară în interfața de utilizare și limitarea acestuia la 3 sau 4 grupuri face ca direcționarea să fie mai simplă pentru utilizator.

Cei doi centi.

Răspuns

În capul meu, ca dezvoltator, nu ca administrator de baze de date, vă recomand să configurați baza de date după cum urmează:

== snap\_table ==

snapid | fromuserid | snaptext | instantaneu | timestamp

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

id | snapid | touserid

Acest lucru vă permite să trimiteți o clipă la mai mulți utilizatori utilizând „snap\_to\_friend\_relation\_table”. Are sens? Pot încerca să fiu mai detaliat dacă este necesar ….

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *