Jak zorganizować tę bazę danych podobną do Snapchata


Najlepsza odpowiedź

Przykładowe tabele

Użytkownicy – id – nazwa użytkownika – email – nazwa – hasło (zaszyfrowane i zaszyfrowane) – inne pola według potrzeb

Kanały – user\_id – channel\_title – identyfikator\_znajomego

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

Channel\_Subscribers – channel\_id – user\_id

Snap\_Reaction – snap\_id – user\_id – reakcja (like, lol, cry , zły itp.)

Komentarze

Głównym wymaganiem, które przysporzy Ci najwięcej bólu głowy, będzie udział częściowy . Udostępnianie wszystkim jest łatwe, publikuj na kanale, a wszyscy subskrybenci mogą to zobaczyć. Częściowe udostępnianie jest znacznie bardziej problematyczne, ponieważ użytkownik musiałby wybrać każdego subskrybenta, któremu będzie udostępniać obraz. Jak możesz sobie wyobrazić, jest to proste z 5 subskrybentami, niemożliwe do zarządzania z ponad 500 (punkt krytyczny prawdopodobnie znajduje się poniżej tej liczby).

Możliwym rozwiązaniem może być utworzenie pewnego rodzaju ustawienia grupowego, w którym użytkownicy może kierować reklamy na grupę. Może ten cel jest oparty na interakcjach z przyciąganiem; jak przystawka i zostań dodany do grupy snaps, komentuj i jest to bardziej inkluzywna grupa, do której jesteś dodawany. Można to zarządzać automatycznie, być może dodając również poziom wynagrodzenia, co pozwoliłoby na zarabianie na aplikacji jako udziale w przychodach z użytkownikiem (standardowy typ jabłka – podział 70 na użytkownika / 30 na aplikację). Kierowanie na grupę jest znacznie łatwiejsze w interfejsie użytkownika, a ograniczenie jej do 3 lub 4 grup upraszcza kierowanie dla użytkownika.

Moje dwa centy.

Odpowiedź

Na początek, jako programista, a nie administrator bazy danych, polecałbym skonfigurowanie bazy danych w następujący sposób:

== snap\_table ==

snapid | fromuserid | snaptext | snapimage | timestamp

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

id | zgryźliwy | touserid

Pozwala to na wysłanie przystawki do wielu użytkowników za pomocą „snap\_to\_friend\_relation\_table”. Czy to ma sens? W razie potrzeby mogę spróbować podać więcej szczegółów…

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *