Acabo de terminar hace algunos días un curso de Laravel que nos pagaron en el trabajo. El curso se llama: Laravel, the complete guide with real world projects impartido por el instructor Kati Frantz, está en ingles pero es muy entendible además de que el curso tiene subtítulos autogenerados; que no son la gran maravilla pero ayudan un poco.
En el curso los proyectos que se desarrollan van incrementando la complejidad y abarcando tópicos diferentes. Se crearon cuatro aplicaciones las cuales fueron:
- Lista de tareas pendientes (Todos App). Se desarrolla una aplicación sencilla para crear lista de tareas con la cual el instructor nos introduce a los primeros conceptos del desarrollo con laravel. Se ven los siguientes conceptos:
- Que es MVC.
- Que es composer.
- Instalar Laravel.
- Enrutamiento básico con laravel.
- Migraciones.
- Eloquent: el ORM de Laravel.
- Tinker: herramienta shell para interactuar con la base de datos.
- Sesiones para mostrar mensajes flash.
Repositorio del proyecto: Todo's App
- Sistema gestor de contenidos: Blog. Se desarrolla un blog desde el BackEnd donde se crea la autenticación, se crean categorías, tags, se crean post, se integra el editor summernote y dashboard de usuario. Para el FrontEnd se crea un layout para ser reutilizada en todas las partes del blog, se obtiene el contenido dinámico para listar los post, integrar disqus para los comentarios, integrar mailchimp para la suscripción de usuarios. Se ven los siguientes aspectos de laravel:
- Autenticación.
- Entender las relaciones en laravel.
- Grupos de rutas.
- Filtrar solicitudes HTTP mediante la clase middleware.
- Asignación masiva de atributos.
- Soft Deletes (eliminación lógica).
- Creación de urls amigables (slugs)
- Eliminación permanente.
Repositorio del proyecto: blog.
- Aplicación de discuciones /foro avanzado. Se desarrolló una aplicación tipo stackoverflow, donde se pueden crear discuciones por categoría, se pueden crear comentarios con markdown, se puede puntuar la mejor respuesta, el sistema otorga puntos por a los usuarios por las respuesta que haga, así como al usuario con la mejor respuesta. Los conceptos que se manejan aquí además de los conceptos de las lecciones anteriores:
- Compartir datos entre vistas.
- Paginado.
- Notificaciones y envío de emails.
- Filtros para denegar o autorizar a usuarios autenticados a ciertos métodos.
Repositorio del proyecto: Foro.
- Aplicación de ecommerce. Se desarrolló una aplicación completa de ecommerce. Es la aplicación final, se crea el backend que consta de autenticación y creación de productos. Frontend se crea el listado de productos, personalizado de la paginación, agregar y quitar del carrito de compras, realizar la compra mediante la plataforma de pagos stride (que no está disponible para México) y se crean las notificaciones de email para enviar al usuario después de que ha comprado.
Repositorio del proyecto: Ecommerce.
Esta es una pequeña reseña del curso que me ha encantado. Laravel provee muchas funcionalidades que te ahorran trabajo y tiempo (como la autenticación, la protección de rutas y métodos; de usuarios no autorizados mediante el middleware, creación de rutas amigables, envío de correos, etc).
Comentarios