Modalidad de aprobación (según el programa): asistir a los 2 talleres
presenciales, realizar las actividades prácticas previstas y entregar esta
Actividad Integradora, que se califica como Aprobado / Desaprobado.
Consigna
Construir un módulo funcional de un sistema de gestión, aplicando lo aprendido en el curso. El dominio sugerido es el Liquidador de RRHH (empleados, departamentos, liquidaciones), pero se puede proponer otro dominio equivalente del área de trabajo del/la participante (expedientes, inventario, turnos, etc.), acordándolo con el/la docente.
El módulo debe ser un proyecto Laravel que corra con Docker y que integre, como mínimo, los siguientes puntos.
Requisitos mínimos (obligatorios)
| # | Requisito | Visto en |
|---|---|---|
| 1 | Al menos 2 entidades relacionadas con sus migraciones y un seeder con datos de prueba. | Clases 5–6 |
| 2 | Modelos Eloquent con al menos una relación (1-N o N-N) navegable. | Clase 6 |
| 3 | Un CRUD completo (web con Blade o API REST en JSON) de una de las entidades. | Clases 4, 6, 8 |
| 4 | Validación de los datos de entrada (con Form Request o validate()). | Clases 4, 10 |
| 5 | La lógica de negocio principal en un servicio (no en el controller). | Clase 7 |
| 6 | Al menos 1 test (unit o feature) que pase en verde. | Clase 12 |
| 7 | El proyecto se levanta con docker compose y un README con las instrucciones. | Clases 5, 12 |
Requisitos opcionales (suman)
- Autenticación por token (Sanctum) y una ruta protegida por rol. Clase 9
- Una regla de validación personalizada (ej: CUIT, CBU, legajo). Clase 10
- Un Job en cola para una tarea pesada (ej: procesar en lote). Clase 11
- Uso de cache para un listado o reporte costoso. Clase 11
- Consumo de una API externa con el HTTP Client. Clase 8
- Manejo de errores con una excepción propia y logging. Clase 10
Criterios de evaluación
Se aprueba cumpliendo los 7 requisitos mínimos de forma funcional. Se valora:
| Dimensión | Qué se observa |
|---|---|
| Funciona | El módulo levanta y hace lo que promete, sin errores al usarlo. |
| Está ordenado | Separación de responsabilidades (controllers flacos, servicios, migraciones). |
| Valida y protege | No confía en la entrada del usuario; maneja los errores con prolijidad. |
| Es reproducible | Otra persona lo levanta siguiendo el README, sin adivinar nada. |
| Tiene una prueba | Al menos un test que verifique la lógica principal. |
Entrega
- Repositorio Git con el código (sin
vendor/ni.env). README.mdcon: qué hace, cómo levantarlo con Docker y cómo correr los tests.- Breve descripción (media carilla) de qué requisitos cumplió y cuáles opcionales sumó.
Sugerencia: arrancá simple y andá sumando. Un CRUD de "empleados" con su
departamento, validación y un test ya cumple lo mínimo. Los opcionales son para quien
quiera ir más allá. Mejor terminado y simple que ambicioso e incompleto.
Punto de partida: podés reutilizar cualquiera de los POCs del curso como base
(están todos armados con Docker) y hacerlos crecer. No hace falta empezar de cero.