Aprende Laravel desarrollando un sistema

Aprender un framework implica comprender nuevos conceptos. ¿Qué mejor que aprender Laravel de forma práctica? En esta serie vamos a desarrollar un Sistema de Gestión de Incidencias desde cero.

Aprende Laravel desarrollando un sistema

Esta serie consta de 29 capítulos.

Nivel de dificultad: Aprendiz.

Has visto esta serie al 0 %

Recuerda que debes iniciar sesión para que puedas llevar un control de tu progreso.

Empezar serie

Episodios

Episodio 1 14:46

Introducción: Mockups del sistema a desarrollar

En este primer video hacemos una revisión de las características que tendrá el sistema que vamos a desarrollar. Y así mismo, comentamos qué recursos vamos a necesitar para el desarrollo.


Episodio 2 18:34

Configuración y Sistema de autenticación

En este video instalamos todo lo necesario para el desarrollo. Así mismo, configuramos nuestro sistema de registro y login.
Creamos nuestra base de datos y hacemos uso de nuestras primeras migraciones.


Episodio 3 22:12

Sistema de plantillas Blade

En este video creamos nuestras primeras vistas y aprendemos a usar directivas propias de Blade, el sistema de plantillas de Laravel.
Así mismo vemos cómo se encuentran organizados los assets en un proyecto de Laravel. Es decir, nuestros archivos CSS y JS.


Episodio 4 11:34

Controladores y Middlewares

En este video organizamos nuestras rutas, para restringir el acceso a usuarios que no han iniciado sesión en algunas de ellas, haciendo uso de middlewares.


Episodio 5 08:24

Seeders

En este video vemos cómo insertar datos de prueba en nuestra app, de modo que siempre estén disponibles, aun cuando apliquemos cambios sobre nuestras tablas.


Episodio 6 10:12

Admin Middleware

En este video definimos nuestro propio middleware. De esta forma, restringimos el acceso a ciertas rutas, para que solo puedan ser usadas por usuarios administradores.


Episodio 7 16:36

Modelamiento usando migraciones

En este video modelamos la estructura principal de nuestra aplicación.


Episodio 8 10:12

Inyectar variables en las vistas

En este video vemos cómo pasar variables a nuestras vistas, desde nuestros controladores.
De esta forma conseguimos listar nuestro SELECT de categorías.


Episodio 9 06:35

CSRF Token

En este video iniciamos con el registro de incidencias. Pero antes revisamos qué son los CSRF Token y cómo usarlos en Laravel.


Episodio 10 08:46

Método save()

En este video registramos nuestra primera incidencia, instanciando un objeto de la clase Incident.

Realmente incident significa incidente en español. Pero de todas formas, para evitar hacer más cambios, simplemente continuamos con el desarrollo.


Episodio 11 15:51

Reglas de validación

En este video aprendemos a validar nuestros datos usando las reglas de validación que nos prové Laravel.

Así mismo aprendemos a usar mensajes de error personalizados.


Episodio 12 03:52

Items del menú con class active

En este video vemos cómo resaltar el item correspondiente de nuestro menú, en función a la página en la que nos encontramos.


Episodio 13 04:16

Accessors y Mutators

En este video vemos de forma breve qué son y cómo hacer uso de los accessors y mutators de Laravel.

En nuestro caso lo usamos para validar si un usuario es de un rol determinado o no.


Episodio 14 20:15

Niveles de atención (Modelado)

En este capítulo realizamos el modelado de las tablas necesarias para asignar proyectos a un usuario, y determinar el nivel de atención al que un usuario de soporte pertenece.


Episodio 15 31:51

CRUD de Usuarios de soporte

En este video vemos cómo registrar y editar usuarios del equipo de soporte, como administrador. Recordando que ya existe un registro abierto al público que permite a los visitantes registrarse como clientes.


Episodio 16 06:51

Soft deletes

En este video definimos nuestro propio middleware. De esta forma, restringimos el acceso a ciertas rutas, para que solo puedan ser usadas por usuarios administradores.


Episodio 17 22:05

Proyectos

En este video realizamos un CRUD completo de la entidad proyectos. Vemos además cómo restaurar un registro que ha sido eliminado lógicamente; y cómo organizar nuestras reglas de validación.


Episodio 18 45:54

Categorías y Niveles

En este video terminamos de implementar un CRUD para categorías y niveles, antes de pasar a la asignación entre usuarios y proyectos.

También hacemos uso de modales para editar los nombres de las categorías y los niveles.


Episodio 19 20:01

Cargar SELECT dinámicamente

En este capítulo cargamos un SELECT en función al valor que tiene otro. Si el valor de uno cambia, el SELECT dependiente actualizará sus opciones usando Ajax.

Para ello creamos nuestro primer webservice, y devolvemos una respuesta en JSON, con los resultados de nuestra consulta.


Episodio 20 28:54

Asignar proyectos a los usuarios

En este video asignamos proyectos a los usuarios de soporte, de forma que ellos puedan luego atender las incidencias en un nivel determinado.


Episodio 21 06:53

Listar proyectos disponibles

En este capítulo cargamos las opciones para nuestro SELECT general, que contiene el listado de proyectos disponibles. Para ello nos basamos en una relación de muchos a muchos, o Many to many.


Episodio 22 18:05

Proyecto seleccionado

En este capítulo creamos un campo adicional en nuestra tabla de usuarios para hacer seguimiento al proyecto que ha seleccionado. Este proyecto se asigna la primera vez que un usuario inicia sesión, pero para las veces siguientes simplemente recuperamos el valor.


Episodio 23 21:17

Dashboard

En este capítulo mostramos las incidencias más importantes en el dashboard de cada usuario, en función al proyecto que tiene seleccionado y el nivel al que pertenece.


Episodio 24 14:25

Incidencias reportadas como cliente

En este capítulo vemos cómo reportar incidencias, iniciando sesión como un cliente externo. La idea es que las incidencias se creen adecuadamente, en el proyecto y nivel correspondientes.

Así mismo adecuamos el dashboard para que se vea correctamente para los clientes.


Episodio 25 23:51

Error 404 y findOrFail

En este capítulo implementamos una ruta que contiene los detalles de una incidencia en específico. Hacemos uso de findOrFail para buscar una incidencia en base a su ID, y generar un error 404 en caso que no se encuentre.


Episodio 26 12:52

Estados de una incidencia

En este capítulo definimos los estados de una incidencia y los botones correspondientes para modificar tales estados.


Episodio 27 23:56

Atender, derivar, resolver, y re-abrir una incidencia.

En este capítulo implementamos las operaciones más importantes para la gestión de una incidencia.


Episodio 28 17:16

Editar incidencia

En este capítulo editamos los datos básicos de una incidencia.


Episodio 29 18:07

Discusión

En este capítulo añadimos un sistema de discusión, de forma que el cliente se pueda comunicar con un usuario del equipo de soporte, con el fin de resolver la incidencia.

En pocas palabras, desarrollamos una sección muy similar a lo que sería un chat.


¿Nos ayudas a compartir?


Antes que te vayas

Inscríbete en nuestro curso gratuito de Laravel