
1. Introducción a Laravel
- Qué es Laravel: Laravel es un framework de PHP que facilita el desarrollo de aplicaciones web robustas y escalables.
- Instalación y configuración: Configuración del entorno de desarrollo (usualmente con XAMPP o Laravel Homestead) y creación de un proyecto Laravel.
- Estructura de directorios: Explicación de la estructura de carpetas y archivos de Laravel.
2. Conceptos básicos de Laravel
- Rutas y controladores: Creación de rutas para manejar las solicitudes HTTP y definición de controladores para gestionar la lógica de las aplicaciones.
- Vistas y Blade: Uso del motor de plantillas Blade para crear vistas y presentar datos de forma dinámica.
- Modelo-Vista-Controlador (MVC): Explicación del patrón MVC y su implementación en Laravel.
3. Bases de Datos y Eloquent ORM
- Configuración de la base de datos: Conexión a bases de datos como MySQL, PostgreSQL o SQLite.
- Migraciones: Uso de migraciones para gestionar versiones de la base de datos y automatizar la creación de tablas.
- Eloquent ORM: Uso del ORM Eloquent para interactuar con la base de datos de forma sencilla. Incluye relaciones entre modelos (uno a uno, uno a muchos, muchos a muchos).
4. Autenticación y Autorización
- Autenticación: Implementación del sistema de autenticación de Laravel, registro e inicio de sesión.
- Autorización: Creación de políticas y middleware para gestionar permisos de usuario y roles.
5. Desarrollo de APIs RESTful
- Creación de controladores de API: Uso de controladores específicos para construir endpoints de una API.
- Autenticación con JWT: Implementación de JWT para proteger las rutas de API y validar usuarios.
- Formateo de respuestas JSON: Personalización de las respuestas JSON para las API y manejo de errores.
6. Servicios, Tareas y Eventos
- Servicios y repositorios: Separación de lógica de negocio en servicios y patrones de repositorio.
- Tareas programadas (Scheduler): Configuración de tareas periódicas usando el Scheduler de Laravel.
- Eventos y listeners: Uso de eventos para ejecutar acciones en respuesta a eventos específicos en la aplicación.
7. Pruebas y Depuración
- Pruebas unitarias y de integración: Creación de pruebas para asegurarse de que la aplicación funcione como se espera.
- Depuración y logging: Uso de herramientas de depuración y logs para rastrear errores en el código.
8. Despliegue y Optimización
- Preparación para producción: Configuración de la aplicación para su despliegue en servidores (optimización de archivos, caché, etc.).
- Despliegue en servidores: Uso de servicios como Heroku, DigitalOcean o AWS para subir la aplicación a producción.
- Optimización de rendimiento: Estrategias para mejorar el rendimiento, como la caché, optimización de consultas, y otros.
9. Buenas prácticas y seguridad
- Buenas prácticas en Laravel: Organización del código, patrones de diseño y mantenimiento del código limpio.
- Seguridad: Protección contra ataques comunes (CSRF, XSS, inyecciones SQL) y uso de características de seguridad de Laravel.
- Profesor: Juan Carlos Laveriano Fernandes