Bienvenidos a nuestro próximo ¡Construyamos! Esta construcción introduce al conocido gigante de las redes sociales, Twitter, en la mezcla como inspiración para el proyecto. Crearemos una especie de imitación llamada twittter .
En particular, esta aplicación demostrará un sistema de roles de usuario que le dará a su aplicación web y a su aplicación de navegación la sensación de estar dentro del navegador. Iré un poco más rápido que la versión anterior, ya que fue más bien un ejercicio fundamental en el que expliqué conceptos comunes que giran en torno al ecosistema Ruby on Rails. Usaremos generadores Rails para ayudar a desarrollar algunas de las cosas que ya he cubierto. Si no has visto el primer Let's Build, te invito a que lo hagas para entender lo que estamos haciendo.
Descarga el código fuente
La aplicación en sí contará con un principio CRUD básico donde podremos crear, leer, actualizar y destruir Tweets . En esencia, esto es lo mismo que mi compilación anterior en la que creamos publicaciones para un blog. Además de los Tweets , presento una nueva joya llamada Devise que facilita la creación de un rol de usuario completo y un sistema de autenticación. Combinado con esta joya podemos autenticar a los usuarios que quieran crear Tweets . Los Tweets de un usuario también se vinculan a su cuenta. El resultado final es un sitio público con un flujo de tweets de diferentes usuarios. Los usuarios que tienen una cuenta pueden iniciar sesión para crear sus propios Tweets y agregarlos a la transmisión pública.
Twitter es una aplicación bastante elaborada. No cubriré respuestas, retweets, me gusta y muchas otras características fundamentales del famoso gigante de las redes sociales. En lugar de eso, lo invito a pensar en cómo agregar esas funciones. De manera similar a la creación del blog con comentarios que hice, vea si puede descubrir cómo agregar respuestas a la aplicación por su cuenta. (Consejo: es lo mismo que agregar comentarios a la publicación del blog como lo hice en la versión anterior;)). Puede que vuelva a visitar esta aplicación para agregar más funciones como otro ejercicio, ¡pero sinceramente se me acabó el tiempo! Déjame saber si quieres que extienda esto más.
También hay algunas gemas disponibles para dar "me gusta" a las publicaciones. Aquí tienes uno de mis favoritos.
Nota: Un gran error que noté después de cerrar esta compilación fue que cualquier usuario que hubiera iniciado sesión podía editar los tweets de cualquier otro usuario. Este es un gran fallo de seguridad ya que las capacidades de un usuario sólo deberían estar dentro de su propia cuenta. Vea si puede encontrar una manera de permitir que solo el usuario que ha iniciado sesión actualmente edite sus propios tweets y no otros usuarios. Puedo volver a visitar esta serie para ampliar y abordar estos temas.
Mejores errores: para mejores errores
Bulma: para CSS fácil. Siéntase libre de crear sus propios estilos y/o utilizar un marco diferente.
Guard: útil para recargar en vivo nuestros archivos scss
, js
, css
y erb
, ¡aunque es capaz de hacer mucho más!
Se requiere Guard para que funcione la gema Guard LiveReload
Guardia LiveReload
Formulario simple: ¡para formularios simples!
Devise: autenticación y roles de usuario sin esfuerzo
Gravatar_image_tag: etiqueta de imagen integrada que escupe gravatars.
Continúe leyendo en web-crunch.com