Introducción
  • Bienvenida y recomendaciones importantes
Configuración inicial
  • Nuevo proyecto Laravel 5.5 o 5.6
  • Sublime Text y Git
  • NPM, Laravel Mix y dependencias JS
  • Autenticación e Introducción a BootstrapVue
  • Instalación y configuración de BootstrapVue
UI con BootstrapVue
  • Vista de Login usando componentes de BV
  • Componentes de BV para formularios
  • Menú de navegación usando BV
  • Cerrar sesión y un primer evento general
  • Vista de Registro usando BootstrapVue
  • Alert danger para mensajes de error
UI base Messenger
  • Diseño del listado de contactos
  • Nuestros primeros componentes de Vue
  • Diseño de la conversación activa
Modelamiento inicial y conexión
  • Entidades y sus atributos
  • Conversation y Message
  • 1 Conversación y 2 Mensajes
  • Primeros Endpoints en nuestra API
Sistema de autenticación
  • Cookies
  • Sesiones
  • JSON Web Tokens
  • Resumen y comparación
  • Demostración práctica en Laravel
Axios y VueJS: Primeros pasos
  • Comunicación con un componente hijo
  • Axios: Petición HTTP en 2do plano
  • Consultar y listar 2 tipos de mensajes
  • Evento submit y registro de mensajes
  • Evitar autocompletado y editar data
Múltiples conversaciones
  • Nuevo contacto y conversación
  • Mensajes según contacto
  • Adecuar respuesta JSON para Conversations
  • Query Builder a través de 1 relación
  • Listar conversaciones (Object vía props)
  • Model events y Observers
Seleccionar conversación
  • Evento click sobre un componente
  • Desactivar notificaciones de Laravel Mix
  • Comunicación con un componente padre
  • Cargar mensajes según selección
  • Observar cambios sobre variables props
  • Nombre del contacto seleccionado
Notificaciones en tiempo real
  • Estado actual (sin real time)
  • Configuración inicial de Pusher
  • Laravel Echo y Pusher JS
  • Broadcast de eventos
  • Más acerca de las Queue Jobs
  • Escuchar eventos usando Laravel Echo
  • Mostrar mensaje recibido y refactorización
Scroll adecuado
  • Mostrar barra de desplazamiento
  • Desplazar hasta el final
Canales más específicos
  • Más de un canal
  • Mostrar mensaje sólo cuando corresponde
  • Condición a prueba de balas y last message
  • Moment.js (Fechas con formato)
Canales más seguros
  • Interceptando mensajes de un canal público
  • Cómo definir y escuchar 1 canal privado
  • Diseño para mostrar el estado en línea
  • Presence channel (mostrar estado online)
Detalles adicionales
  • Filtrar contactos
  • Gestionar perfil de usuario
  • Imágenes para todos y mix versioning
  • Resaltar selección
Tópicos avanzados: Vuex y EventBus
  • Repaso general y Event Bus
  • ¿Qué es Vuex?
  • Instalación de Vuex
  • Mutations
  • De data a state (selectedConversation)
  • Actions
  • Getters
  • v-model reactive (respecto al state general)
  • Refactorizando ActiveConversation
  • Store como 1 archivo separado
  • Recapitulando lo visto sobre Vuex
Tópicos avanzados: Vue Router
  • Vue Router y conceptos relacionados
  • Instalación y uso de Vue Router
  • De Laravel a Vue y parámetros de ruta
  • Server Side y Client Side Rendering
Lo que sigue
  • Últimos ajustes
  • Mensaje final y pasos siguientes
  • Silenciar notificaciones
  • Habilitar conversaciones
  • Integrar sobre proyecto Laravel existente
  • Delegar la gestión de rutas a Vue al 100%