Bästa svaret
provtabeller
Användare – id – användarnamn – e-post – namn – lösenord (saltad och hashad) – andra fält efter behov
Kanaler – 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 – response (like, lol, cry) , arg etc)
Kommentarer
Huvudkravet som kommer att orsaka dig mest huvudvärk kommer att vara den delade delningen . Att dela med alla är enkelt, skicka till kanalen och alla prenumeranter kan se det. Partiell delning är mycket mer problematisk, eftersom användaren skulle behöva välja varje abonnent att dela bilden med. Som du kan föreställa dig är det enkelt med 5 prenumeranter, omöjligt att hantera med 500+ (brytpunkten är sannolikt under det numret).
En möjlig lösning kan vara att skapa någon form av gruppinställning, där användare kan rikta in sig på en grupp. Kanske är det målet baserat på interaktioner med snaps; som en snäpp och läggs till i snaps-gruppen, kommentera och det är en mer inkluderande grupp du läggs till i. Detta kan hanteras automatiskt, kanske också lägga till en lönenivå, vilket gör att du kan tjäna pengar på appen som en intäktsdelning med användaren (standard äppeltyp delas 70 användaren / 30 till appen). Att rikta in sig på en grupp är mycket lättare för användargränssnittet och att begränsa den till tre eller fyra grupper gör det enklare för användaren att rikta in sig.
Mina två cent.
Svar
Från toppen av mitt huvud, som utvecklare, inte databasadministratör, skulle jag rekommendera att du ställer in databasen enligt följande:
== snap\_table ==
snapid | fromuserid | snaptext | snapimage | tidsstämpel
== snap\_to\_friend\_relation\_table ==
id | snapid | touserid
Detta låter dig skicka en snap till flera användare med hjälp av ”snap\_to\_friend\_relation\_table”. Låter det vettigt? Jag kan försöka vara mer detaljerad om det behövs …