So strukturieren Sie diese Snapchat-ähnliche Datenbank


Beste Antwort

Beispieltabellen

Benutzer – id – Benutzername – E-Mail – Name – Passwort (gesalzen und gehasht) – andere Felder nach Bedarf

Kanäle – user\_id – channel\_title – friend\_id

Schnappschüsse – id – user\_id – title – caption – date

Channel\_Subscribers – channel\_id – user\_id

Snap\_Reaction – snap\_id – user\_id – Reaktion (wie, lol, cry , wütend usw.)

Kommentare

Die Hauptanforderung, die Ihnen die meisten Kopfschmerzen bereitet, ist der Teilanteil . Das Teilen mit allen ist einfach. Posten Sie auf dem Kanal und alle Abonnenten können es sehen. Die teilweise Freigabe ist weitaus problematischer, da der Benutzer jeden Abonnenten auswählen müsste, für den das Bild freigegeben werden soll. Wie Sie sich vorstellen können, ist es mit 5 Abonnenten einfach und mit 500+ nicht zu verwalten (die Sollbruchstelle liegt wahrscheinlich unter dieser Zahl).

Eine mögliche Lösung könnte darin bestehen, eine Art Gruppeneinstellung zu erstellen, in der Benutzer arbeiten könnte eine Gruppe ansprechen. Vielleicht basiert dieses Ziel auf Interaktionen mit den Schnappschüssen; Wie ein Snap und werden Sie zur Snaps-Gruppe, zum Kommentar und zu einer umfassenderen Gruppe hinzugefügt, zu der Sie hinzugefügt werden. Dies könnte automatisch verwaltet werden, möglicherweise auch durch Hinzufügen eines Gehaltsniveaus, wodurch Sie die App als Umsatzbeteiligung mit dem Benutzer monetarisieren können (Standard-Apfeltyp teilt den Benutzer / 30 auf die App auf). Das Targeting einer Gruppe ist auf der Benutzeroberfläche viel einfacher und die Beschränkung auf 3 oder 4 Gruppen vereinfacht das Targeting für den Benutzer.

Meine zwei Cent.

Antwort

Als Entwickler und nicht als Datenbankadministrator würde ich Ihnen empfehlen, die Datenbank wie folgt einzurichten:

== snap\_table ==

snapid | fromuserid | Snaptext | Schnappschuss | Zeitstempel

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

id | Snapid | touserid

Mit dieser Option können Sie einen Snap mithilfe der „snap\_to\_friend\_relation\_table“ an mehrere Benutzer senden. Ist das sinnvoll? Ich kann versuchen, bei Bedarf detaillierter zu werden.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.