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…