
Un vistazo rápido a los temas que vamos a tratar en el curso.
¿Por qué Laravel? ¿Por qué no otro framework? ¿Por qué no simplemente PHP sin framework?
¿Qué necesitamos para iniciar nuestro proyecto? ¿Cómo descargamos las herramientas necesarias?
¿Cómo creamos un proyecto de Laravel nuevo? ¿Qué es Composer?
¿Qué es un IDE y un editor de texto? ¿Cuál de todos es conveniente usar?
¿Cómo definir las rutas de un proyecto? ¿Qué son realmente?
¿Qué son las vistas? ¿Qué relación tienen con las rutas?
¿Controladores? ¿Son realmente necesarios? ¿En qué ayudan?
¿Cómo implementamos un inicio de sesión y registro de usuarios? ¿Qué son las migraciones? ¿Qué son los middlewares?
¿Qué es Git? ¿Qué es Github? ¿Qué es un repositorio? ¿Cómo subir nuestro proyecto?
¿Qué diseño vamos a usar para nuestra aplicación? ¿Cómo integramos assets a nuestro proyecto? ¿Qué son los assets?
¿Qué es Blade? ¿Cómo imprimir variables sobre la vista? ¿Cuáles son las directivas principales?
¿Qué tienen en común los diseños de ejemplo? ¿Cómo diferenciar la estructura general del contenido?
¿Cómo integramos la plantilla al proyecto luego de agregar los assets y entender su estructura?
¿Cómo mostramos enlaces diferentes para los invitados y para usuarios que han iniciado sesión? ¿Es obligatorio usar el helper url?
En esta ocasión terminamos de aplicar la plantilla a la vista de registro y a la de inicio de sesión.
Definimos la landing page de nuestra aplicación, sobre nuestra vista welcome.
¿Qué es una migración? ¿Y qué es un modelo? ¿Es necesario usar comandos para crearlos?
¿Cómo podemos crear nuestro modelo y su migración correspondiente?
Definimos los datos para nuestros productos. Así mismo vemos cómo crear claves foráneas entre tablas en nuestras migraciones.
¿Qué es un ORM? ¿Qué es Eloquent y para qué nos sirve? ¿Qué son los seeders?
¿Cómo definir un seeder? ¿Cómo añadimos datos de prueba a nuestra app?
¿Qué son los model factories? ¿Cómo podemos generar data ficticia sin escribir los datos manualmente?
¿Cómo podemos consultar datos vía Eloquent y mostrar tales datos en una vista?
Definimos la entidad imagen, y creamos los model factories que hacen falta.
Resuelve tus dudas inmediatamente: sin rutas, sin controladores.
¡Por fin! Vamos a definir las relaciones entre nuestros modelos: Category, Product y ProductImage.
Veamos cómo generar datos, cuando éstos tienen relaciones entre sí.
En este capítulo aprendemos a listar los productos y sus imágenes correspondientes. Además aprendemos a definir secciones con un valor por defecto. Por último, vemos qué ocurre si mostramos un objeto completo en una vista, en vez de mostrar uno de sus atributos.
¿Qué es un CRUD? En español se conoce también como ABM (altas, bajas y modificaciones).
¿Qué son GET y POST? ¿Cómo empezamos a crear nuestro CRUD?
¿Cómo mostramos los productos en distintas páginas? ¡Con Laravel es muy sencillo!
¿Cómo se ejecutan las peticiones HTTP? ¿Cuál es el funcionamiento por defecto de un formulario? ¿Qué es Ajax?
Implementamos el registro de productos usando los métodos create y store.
Implementamos la edición de productos usando los métodos edit y update.
¿Podemos usar el verbo GET para TODAS nuestras rutas?
¿Cómo ponemos el formulario de eliminación en la misma fila que los otros botones?
¿Cómo podemos validar los datos que se ingresan en un formulario? ¿Por qué es importante validar?
¿Dónde se ubican los Middleware de nuestra app? ¿Qué son realmente?
¿Cómo definir nuestro propio Middleware?
¡Vamos a definir un grupo de rutas! Y vamos a aplicar un middleware y un prefijo sobre todas ellas.
Aplicamos las clases de la plantilla Material Kit a nuestra vista home, y además añadimos algunas opciones al menú que solo estarán disponibles para usuarios administradores.
¿Cómo incluir una vista dentro de otra usando @include?
Veamos cómo gestionar las imágenes asociadas a cada producto.
¿Cómo podemos subir y guardar imágenes? ¿Qué es y cómo definir un Accessor?
¿Cómo podemos eliminar un archivo y su registro correspondiente en la base de datos?
Vamos a definir un accessor que nos devuelva la imagen destacada de cada producto.
Veamos cómo destacar una imagen para cada producto.
¡Ahora sí vamos a modelar las entidades necesarias para gestionar los carritos de compra y los pedidos de los clientes!
¿Qué es un Namespace? ¿Cómo aplicamos un Namespace a un conjunto de rutas?
Nuestra ruta principal se ha visto infestada de pequeños errores visuales. Ahora los corregimos.
Implementamos la página para cada producto: diseñamos la vista y la devolvemos en el método show.
Cuando un cliente presione "Añadir al carrito de compras", se le mostrará un modal que le preguntará por la cantidad que desea agregar, y un botón para confirmar o cancelar la acción.
Asociar un carrito de compras a cada usuario, de forma que siempre pueda seleccionar los productos de su preferencia.
Vamos a mostrar al usuario los productos que tiene cargados actualmente en su carrito de compras.
Vamos a añadir un formulario para hacer una petición DELETE y como resultado eliminar un detalle del carrito de compras activo.
Hay un detalle que debemos tener en cuenta, respecto a la eliminación de detalles en el carrito de compras.
¿Cómo podemos mostrar un mensaje de notificación indicando que una operación se llevó a cabo de forma exitosa?
El cliente ya está listo para realizar su pedido. ¿Qué procede?
¿Qué es realmente el archivo .env? ¿Se puede eliminar? ¿Y qué hay de la carpeta config?
Introducción a los servicios de hosting y dominio que usaremos.
Vamos a publicar nuestra app (subir nuestro proyecto al droplet vía git), y a asociar un dominio a nuestro droplet (para acceder usando este dominio en vez de la IP).
En esta clase vemos cómo configurar el envío de mails usando Mailgun. También adjunto un artículo sobre cómo configurar los mails usando un correo Gmail (por si tienen un proyecto sin dominio).
Este video es una actualización del anterior. Aquí vemos cómo configurar un dominio en el nuevo panel que nos ofrece Mailgun (distinto diseño, misma idea).
En este curso aprenderás Laravel desde cero, de forma práctica.
El objetivo es que aprendas los conceptos fundamentales más importantes de Laravel, ya que aplican para todas sus versiones, desde Laravel 5.5, hasta la versión 8.
El resultado final es el desarrollo de una aplicación de pedidos en línea.
¿Te preguntas cuál es la diferencia con usar un CMS como Prestashop, Woocomerce, Shopify u otro?
La diferencia es que este sistema lo vas a desarrollar tú desde cero.
Por lo tanto:
Conocerás y comprenderás todo el modelado de la base de datos, los controladores, rutas, validaciones, e incluso la organización de las vistas.
En resumen: serás participe del desarrollo del proyecto de principio a fin, y paso a paso.
Eso te permitirá añadir características adicionales, y hacer modificaciones según lo necesites.
Si nunca has desarrollado una aplicación con Laravel, o te sientes perdido entre tanta información, este curso es para ti.
No vamos a integrar métodos de pago por tratarse de un curso básico, pero sí que vamos a gestionar productos, definir un carrito de compras, enviar notificaciones de nuevos pedidos por email, y sobretodo a publicar finalmente el proyecto en internet.
Además, recuerda que si llegas al final tendrás la oportunidad de inscribirte al curso que será la continuación de este, donde integraremos características mucho más avanzadas, como pagos en línea, listas de deseo, reportes estadísticos, etcétera.
Nota:
El curso se ha desarrollado con Laravel 5.5, sin embargo, puedes seguir el curso incluso con la versión 7 u 8 sin problemas.
De hecho, muchos estudiantes ya lo están haciendo.
Además recuerda:
No estarás solo. Cualquier duda que tengas es bienvenida.
Siempre dedico un tiempo para revisar y atender todas las preguntas publicadas en el foro del curso =)