Cronograma para Aprender Laravel en 15 Días
Día 1: Introducción e Instalación
Temas: ¿Qué es Laravel? MVC, instalación con Composer, estructura de directorios.
Actividades:
- Lee la documentación oficial: "Installation" y "Getting Started" en laravel.com/docs.
- Mira un video introductorio (ej. "Laravel for Beginners" en Laracasts, ~30 min).
- Instala Laravel con
composer create-project laravel/laravel mi-app
.
Tarea práctica: Crea una app básica y ejecútala con php artisan serve
. Explora rutas en routes/web.php
.
Día 2: Rutas y Vistas
Temas: Rutas (GET, POST), vistas con Blade, passing data a vistas.
Actividades:
- Estudia "Routing" y "Views" en docs.
- Crea rutas simples y vistas.
Tarea práctica: Construye una página de bienvenida con una ruta que pase datos dinámicos a una vista Blade.
Día 3: Controladores y Modelos
Temas: Crear controladores, Eloquent ORM, modelos básicos.
Actividades:
- Lee sobre "Controllers" y "Eloquent" en docs.
- Configura una base de datos en
.env
y crea un modelo conphp artisan make:model
.
Tarea práctica: Crea un controlador que liste datos de un modelo (ej. usuarios mock) en una vista.
Día 4: Migraciones y Seeds
Temas: Migraciones, seeders, factories.
Actividades:
- Estudia "Migrations" y "Database: Seeding".
- Crea una migración para una tabla (ej. posts).
Tarea práctica: Ejecuta migraciones (php artisan migrate
), crea un seeder y pobla la BD con datos fake.
Día 5: Formularios y Validación
Temas: Manejo de forms, request validation, CSRF protection.
Actividades:
- Lee "Forms" y "Validation" en docs.
- Integra un form en una vista.
Tarea práctica: Crea un form para agregar un post, valida inputs y guárdalo en la BD.
Día 6: Autenticación
Temas: Laravel Breeze o Jetstream para auth, middleware.
Actividades:
- Instala Breeze (
composer require laravel/breeze --dev
) y configura auth. - Estudia "Authentication" en docs.
Tarea práctica: Implementa login/register y protege rutas con middleware auth.
Día 7: Relaciones Eloquent
Temas: One-to-Many, Many-to-Many, eager loading.
Actividades:
- Lee "Eloquent: Relationships".
- Crea modelos relacionados (ej. User hasMany Posts).
Tarea práctica: Muestra posts de un usuario en una vista, usando relaciones.
Día 8: APIs y RESTful Routes
Temas: Resource controllers, API routes, JSON responses.
Actividades:
- Estudia "API Development" y "Resource Controllers".
- Crea rutas API en
routes/api.php
.
Tarea práctica: Construye una API CRUD simple para posts (usa Postman para testear).
Día 9: Proyecto Intermedio
Tarea práctica: Desarrolla un blog básico: auth, CRUD de posts, vistas con Blade. Publica en GitHub.
Día 10: Queues y Jobs
Temas: Configuración de queues, dispatching jobs.
Actividades:
- Lee "Queues" en docs.
- Configura Redis o database driver para queues.
Tarea práctica: Crea un job para enviar emails (usa Mailtrap para testing).
Día 11: Testing
Temas: PHPUnit, feature/unit tests, Dusk para browser testing.
Actividades:
- Estudia "Testing" en docs.
- Escribe tests básicos.
Tarea práctica: Escribe tests para tu API CRUD (cobertura >50%).
Día 12: Caching y Optimización
Temas: Caching con Redis, route/model caching, performance tips.
Actividades:
- Lee "Caching" y "Optimization".
- Implementa cache en queries.
Tarea práctica: Agrega caching a una lista de posts y mide el rendimiento.
Día 13: Despliegue y Mejores Prácticas
Temas: Despliegue en Forge/Heroku/Vapor, .env production, security.
Actividades:
- Despliega tu app en Heroku o Vercel.
- Revisa checklists de best practices.
Tarea práctica: Despliega tu blog y agrega features como pagination.
Día 14: Proyecto Final - Parte 1
Tarea práctica: Diseña una app de tareas (ToDo): auth, CRUD, relaciones (users-tasks), API, queues para notificaciones.
Día 15: Proyecto Final - Parte 2 y Repaso
Actividades:
- Completa y despliega el proyecto.
- Revisa conceptos clave: MVC, Eloquent, etc.
- Agrega el proyecto a tu portafolio.
Tarea práctica: Publica en GitHub con README detallado, despliega en un servidor y comparte en LinkedIn o X.
Recursos Recomendados
- Documentación oficial: laravel.com/docs
- Cursos gratuitos: Laracasts (secciones gratuitas), freeCodeCamp Laravel.
- Pagos/Avanzados: "Laravel Up & Running" libro, cursos en Laracasts.
- Práctica: Laravel Playground, Tinker; comunidades en Reddit (r/laravel), Discord, #Laravel en X.
- Herramientas: Postman para APIs, Laravel Debugbar para debugging.