Introducción
  • ¿Qué vamos a aprender en el curso?
  • Introducción al curso
  • Instalando lo necesario
  • Creando nuestro proyecto de Laravel
  • IDE o Editor de texto
  • Acerca de Laravel y su importancia
Configuración inicial
  • ¿Qué son las rutas?
  • Rutas y vistas
  • ¿Qué son los controladores?
  • Sistema de autenticación
  • Git y Github
  • Acerca de conceptos básicos y la configuración inicial
Diseño
  • Integrando nuestros assets al proyecto
  • El sistema de plantillas Blade
  • Estructura de la plantilla
  • Integrando la plantilla al proyecto
  • Definiendo el menú de navegación
  • Aplicando la plantilla a la vista de registro
  • Aplicando la plantilla a la página principal (landing page)
Modelo de datos en Laravel
  • ¿Qué son las migraciones y modelos?
  • Creando nuestra primera migración y primer modelo
Entidades de nuestro proyecto y datos
  • Entidad Producto
  • Eloquent, el ORM de Laravel
  • Seeders
  • Model factories
  • Inyectar datos sobre una vista
  • Entidad Imagen
  • Tinker, la consola interactiva
  • Relación 1 a muchos
  • Model factories con relaciones
  • Acerca del modelado y los datos
Gestión de datos
  • Listar productos y sus imágenes destacadas
  • ¿Qué es un CRUD y qué tanto demoras en hacer uno?
  • CRUD de Productos
  • Paginación
  • Peticiones HTTP y la clase Request
  • Formulario de registro
  • Formulario de edición
  • Formulario de eliminación
  • Opción de Eliminar al mismo nivel que Ver y Editar
  • Validación de datos
Roles y permisos
  • ¿Qué son los middlewares?
  • Middleware para el Rol de administrador
  • Grupo de rutas
  • Vista home y directivas condicionales
  • Directiva @include para un footer general
Imágenes y gestión de archivos
  • Imágenes por producto
  • Campos calculados y cómo subir imágenes
  • Eliminación de imágenes (archivo y registro de la bd)
  • Accessor para la imagen destacada
  • Destacar imagen
Carrito de compras
  • Entidades Cart y CartDetail
  • Namespaces
  • Paginar productos y corregir problema con las columnas
  • Página de producto
  • Añadir al carrito de compras
  • Carrito de compras activo
  • Mostrar productos cargados
  • Eliminar un producto del carrito
  • Una vulnerabilidad y su corrección
  • Notificaciones usando flash data
  • Realizar pedido
Envío de mails y configuración del entorno de producción
  • ¿Qué diferencia hay entre config y el archivo .env?
  • ¿Cómo vamos a configurar y publicar nuestra app?
  • Configuración Digital Ocean + Namecheap
  • Configuración del envío de mails
  • Nuevo panel de Mailgun
Características finales
  • Gestión de categorías
  • Categorizar productos
  • Página de categoría
  • Buscador en la página principal
  • Buscador predictivo y resultados inteligentes
  • Envío de nuestro 1er mail y Variables de configuración
  • Enviar detalles de una orden vía mail
  • Subir cambios a nuestro droplet
  • Imágenes para las categorías
Personalizando el sistema de autenticación
  • Usuarios con distintos datos (nuevas migraciones y rollback)
  • Limitaciones del middleware auth para peticiones POST
  • Redirección dinámica luego del login
Y ahora, ¿qué sigue?
  • Para muestra un botón
  • Precios que cambian en el tiempo
  • Evitar productos repetidos
  • Considerar stock de productos
  • Informes y reportes estadísticos gráficos