Como estruturar este Snapchat como banco de dados


Melhor resposta

exemplos de tabelas

Usuários – id – nome de usuário – email – nome – senha (com sal e hash) – outros campos conforme necessário

Canais – 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 – reação (like, lol, cry , com raiva, etc)

Comentários

O principal requisito que lhe causará mais dores de cabeça será o compartilhamento parcial . Compartilhar com todos é fácil, poste no canal e todos os assinantes poderão ver. O compartilhamento parcial é muito mais problemático, porque o usuário precisaria escolher cada assinante com o qual compartilhar a imagem. Como você pode imaginar, é simples com 5 assinantes, impossível de gerenciar com mais de 500 (o ponto de ruptura provavelmente está abaixo desse número).

Uma possível solução pode ser criar algum tipo de configuração de grupo, onde os usuários poderia ter como alvo um grupo. Talvez esse alvo seja baseado em interações com os instantâneos; como um instantâneo e seja adicionado ao grupo de instantâneos, comente e é um grupo mais inclusivo ao qual você é adicionado. Isso poderia ser gerenciado automaticamente, talvez adicionando um nível de pagamento também, o que permitiria monetizar o aplicativo como uma divisão da receita com o usuário (tipo apple padrão dividido 70 por usuário / 30 para o aplicativo). Segmentar um grupo é muito mais fácil na IU e limitá-lo a 3 ou 4 grupos torna a segmentação mais simples para o usuário.

Meus dois centavos.

Resposta

Pensando bem, como desenvolvedor, não administrador de banco de dados, recomendo que você configure o banco de dados da seguinte maneira:

== snap\_table ==

snapid | fromuserid | snaptext | snapimage | timestamp

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

id | snapid | touserid

Isso permite que você envie um snap para vários usuários usando o “snap\_to\_friend\_relation\_table”. Isso faz sentido? Posso tentar ser mais detalhado, se necessário….

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *