Cómo estructurar esta base de datos tipo Snapchat


Mejor respuesta

tablas de muestra

Usuarios – id – nombre de usuario – correo electrónico – nombre – contraseña (con sal y hash) – otros campos según sea necesario

Canales – user\_id – channel\_title – friend\_id

Snaps – id – user\_id – título – título – fecha

Channel\_Subscribers – channel\_id – user\_id

Snap\_Reaction – snap\_id – user\_id – reacción (como, lol, cry , enojado, etc.)

Comentarios

El requisito principal que le causará más dolores de cabeza será la participación parcial . Compartir con todos es fácil, publique en el canal y todos los suscriptores podrán verlo. La participación parcial es mucho más problemática, porque el usuario tendría que elegir a cada suscriptor con quien compartir la imagen. Como puede imaginar, es simple con 5 suscriptores, imposible de administrar con más de 500 (el punto de ruptura probablemente esté por debajo de ese número).

Una posible solución podría ser crear algún tipo de configuración de grupo, donde los usuarios podría apuntar a un grupo. Tal vez ese objetivo se base en interacciones con las instantáneas; como un complemento y se agrega al grupo de instantáneas, comenta y es un grupo más inclusivo al que se agrega. Esto podría administrarse automáticamente, quizás agregando un nivel de pago también, lo que le permitiría monetizar la aplicación como una participación en los ingresos con el usuario (el tipo de manzana estándar divide 70 el usuario / 30 a la aplicación). Apuntar a un grupo es mucho más fácil en la interfaz de usuario y limitarlo a 3 o 4 grupos hace que la orientación sea más sencilla para el usuario.

Mi granito de arena.

Respuesta

Fuera de mi cabeza, como desarrollador, no administrador de base de datos, le recomendaría configurar la base de datos de la siguiente manera:

== snap\_table ==

snapid | fromuserid | snaptext | snapimage | marca de tiempo

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

id | snapid | touserid

Esto le permite enviar un snap a múltiples usuarios usando el «snap\_to\_friend\_relation\_table». ¿Tiene sentido? Puedo intentar ser más detallado si es necesario….

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *