Cómo arrancar una aplicación similar a Twitter

UX es una parte importante de una aplicación como Twitter, pero diría que la fortaleza de Twitter es la elegante simplicidad en el back-end. Las etiquetas hash crean un acoplamiento suelto, mientras que la etiqueta at es una referencia directa a una persona.

Mi recomendación para su “Twitter Light” sería tres tablas en una base de datos SQL relacional (MySQL, SQL Server, Oracle, …)

TweetTable: PrimaryKey, Autor, Tweet

PersonTable: PrimaryKey, AtName, LoginName, Password, Descripción, …

SeguidoresTable: FollowerPerson, FollowedPerson

Notas:

1.) Cada vez que se agrega un tweet, persona o seguimiento, se crea una nueva entrada en la tabla correspondiente.

2.) El campo Autor en TweetTable es una referencia a una clave principal en PersonTable. De esta manera, todos los tweets están en la misma tabla, independientemente del autor. FollowerPerson y FollowedPerson son referencias a claves principales en PersonTable

3.) Usando esta arquitectura SELECCIONE sentencias SQL que devolverán rápidamente toda la información común de Twitter como una lista de tweets, seguidores, seguidos.

4.) La consulta más cara sería una búsqueda de texto completo en etiquetas hash. Para estos índices se pueden construir para acelerar la referencia a los tweets basados ​​en etiquetas contenidas en la cadena de Tweet.

Si obtiene la configuración de la arquitectura correctamente, su aplicación será rápida y escalará bien, de lo contrario podrían surgir muchos dolores de cabeza.

No dude en ponerse en contacto conmigo si desea ayuda con esto.

Para responder a su pregunta, sí, puede iniciar su aplicación utilizando desarrolladores o equipos de desarrollo en el extranjero. Debe elegir la mejor opción para usted, ya que hay ventajas y desventajas para cualquiera de esas opciones. Con los trabajadores independientes, costará menos por hora, pero viene con dolores de cabeza de los que no debería hablar aquí, ya que dirijo una tienda de desarrollo. Con las tiendas de desarrollo, tiendes a tener una garantía pero tienes costos más altos que con los freelancers.

Ya sea que use el paradigma de diseño enumerado en las respuestas anteriores o use parse como back-end o si construye esto (o lo ha construido) usando getstream es una decisión que debe tomar su socio tecnológico de elección. Ellos (o el individuo) necesitan respaldar su decisión / elección de tecnología … así que déjelos a ellos.

Una cosa que no debes hacer es construirlo a la escala que tiene Twitter (su arquitectura es compleja pero brillante). Otra cosa que no debe hacer durante el arranque es heredar algo que no podría mantener u operar en el futuro. Por ejemplo, si no sabe cómo agrupar o escalar servidores, si no sabe qué monitorear para poder escalar la aplicación, elija un proveedor que haga mucho por usted (por ejemplo, analizar, obtener, etc.) .

Espero que esto ayude.