Nejlepší odpověď
ukázkové tabulky
Uživatelé – id – uživatelské jméno – e-mail – jméno – heslo (solené a hašované) – další pole podle potřeby
Kanály – user\_id – channel\_title – friend\_id
Snaps – id – user\_id – název – titulek – datum
Channel\_Subscribers – channel\_id – user\_id
Snap\_Reaction – snap\_id – user\_id – reakce (jako, lol, pláč , naštvaný atd.)
Komentáře
Hlavním požadavkem, který vám způsobí největší bolesti hlavy, bude částečné sdílení . Sdílení s každým je snadné, zveřejněte příspěvek na kanálu a všichni předplatitelé to uvidí. Částečné sdílení je mnohem problematičtější, protože uživatel by musel vybrat každého předplatitele, se kterým bude obrázek sdílet. Jak si dokážete představit, je to jednoduché s 5 předplatiteli, nelze to spravovat s 500+ (bod zlomu je pravděpodobně pod tímto číslem).
Možným řešením by mohlo být vytvoření nějakého skupinového nastavení, kde uživatelé může cílit na skupinu. Možná je tento cíl založen na interakcích se snímky; jako snímek a přidáte se do skupiny snímků, komentář a jeho komplexnější skupina, do které se přidáte. To by mohlo být spravováno automaticky, možná také přidáním úrovně výplaty, což by vám umožnilo zpeněžit aplikaci jako sdílení příjmů s uživatelem (standardní typ jablka rozděluje 70 uživatelů / 30 na aplikaci). Cílení na skupinu je na uživatelském rozhraní mnohem snazší a jeho omezení na 3 nebo 4 skupiny umožňuje uživateli jednodušší cílení.
Moje dva centy.
Odpovědět
Jako vývojář, nikoli jako správce databáze, doporučuji vám nastavit databázi následujícím způsobem:
== snap\_table ==
snapid | fromuserid | snaptext | snapimage | časové razítko
== snap\_to\_friend\_relation\_table ==
id | snapid | touserid
To vám umožní poslat snímek více uživatelům pomocí tabulky „snap\_to\_friend\_relation\_table“. Dává to smysl? V případě potřeby se mohu pokusit být podrobnější….