Kuinka rakentaa tämä Snapchatin kaltainen tietokanta


Paras vastaus

esimerkkitaulukot

Käyttäjät – id – käyttäjänimi – sähköposti – nimi – salasana (suolattu ja tiivistetty) – muut kentät tarpeen mukaan

Kanavat – user\_id – channel\_title – ystävä-tunnus

Napsautukset – id – käyttäjän\_tunnus – otsikko – kuvateksti – päivämäärä

Channel\_Subscribers – channel\_id – user\_id

Snap\_Reaction – snap\_id – user\_id – reaktio (kuten, lol, cry , vihainen jne.)

kommentit

Tärkein vaatimus, joka aiheuttaa sinulle eniten päänsärkyä, on osittainen osuus . Jakaminen kaikkien kanssa on helppoa, lähetä kanavalle ja kaikki tilaajat näkevät sen. Osittainen jakaminen on paljon ongelmallisempaa, koska käyttäjän on valittava kukin tilaaja, jonka kanssa kuva jaetaan. Kuten voitte kuvitella, sen yksinkertainen viiden tilaajan kanssa, mahdotonta hallita 500+: lla (katkaisupiste on todennäköisesti alle tämän numeron).

Mahdollinen ratkaisu voi olla jonkinlaisen ryhmäasetuksen luominen, jossa käyttäjät voi kohdistaa ryhmään. Ehkä kyseinen kohde perustuu vuorovaikutukseen napsautusten kanssa; kuten napsautus ja sinut lisätään napsautusryhmään, kommentti ja sen kattavampi ryhmä, johon sinut lisätään. Tätä voidaan hallita automaattisesti, ehkä lisäämällä myös palkkataso, mikä antaisi sinun ansaita rahaa sovellukselle tulojen jakamisena käyttäjän kanssa (tavallinen omenatyyppi jakaa 70 käyttäjän / 30 sovellukseen). Ryhmään kohdistaminen on käyttöliittymässä paljon helpompaa ja sen rajoittaminen kolmeen tai neljään ryhmään tekee kohdentamisesta yksinkertaisempaa käyttäjälle.

Kaksi senttiäni.

Vastaa

Pois päältäni, kehittäjänä, en tietokannan järjestelmänvalvojana, suosittelen, että perustat tietokannan seuraavasti:

== snap\_table ==

snapid | fromuserid | napsautusteksti | snapimage | aikaleima

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

id | snapid | touserid

Tämän avulla voit lähettää napsautuksen usealle käyttäjälle käyttämällä ”snap\_to\_friend\_relation\_table” -taulukkoa. Onko siinä järkeä? Voin yrittää olla yksityiskohtaisempi tarvittaessa ….

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *