Objetivo: Crear una API RESTful de gestión de tareas y agregar la capacidad de consultar una API pública para obtener información adicional sobre las tareas.
-
Configuración del Proyecto:
- Crea un nuevo proyecto Laravel llamado "TaskManagerAPI".
- Configura la conexión a la base de datos SQLite.
-
Base de Datos:
- Crea una migración para la tabla "tasks" con los siguientes campos:
id
(autoincremental)title
(cadena de texto)description
(texto)completed
(booleano)due_date
(fecha de vencimiento)created_at
yupdated_at
(marcas de tiempo)
- Crea una migración para la tabla "tasks" con los siguientes campos:
-
Modelo:
- Crea un modelo llamado "Task" para la tabla "tasks".
-
Controladores:
- Crea un controlador llamado "TaskController" con métodos para:
- Obtener todas las tareas.
- Obtener una tarea específica.
- Crear una nueva tarea que no tenga fecha de vencimiento.
- Crear una nueva tarea con fecha de vencimiento.
- Marcar una tarea como completada.
- Agregar un método para obtener información adicional sobre una tarea consultando una API pública de tu elección (por ejemplo, la API de JSONPlaceholder).
- Crea un controlador llamado "TaskController" con métodos para:
-
Rutas:
- Define las rutas necesarias en el archivo "api.php" para llamar a los métodos del controlador.
-
Validaciones:
- Agrega validaciones a las solicitudes de la API para garantizar que el título sea obligatorio.
-
Consumo de API Pública:
- Utiliza Laravel HTTP Client o cualquier otra biblioteca para realizar la consulta a la API pública. Añade la información obtenida de la API pública a la respuesta de la API de gestión de tareas.
-
Notificaciones:
- Implementa notificaciones para alertar al usuario cuando una tarea está vencida. Puedes usar Laravel Notifications y configurar un canal de notificación de tu elección (correo electrónico, SMS, Slack, etc.).
-
Middleware (Opcional):
- Implementa un middleware para autenticar las solicitudes de la API (puedes usar Laravel Passport u otra solución de tu elección).
-
Documentación (Opcional):
- Puedes agregar documentación básica para la API utilizando herramientas como Swagger o Laravel API Documentation.
-
Fork del Repositorio:
- Realiza un fork del repositorio central para obtener tu propia copia.
-
Desarrollo:
- Trabaja en el desarrollo de la prueba en tu fork del repositorio.
-
Commit y Push:
- Realiza commits periódicos y haz push a tu fork del repositorio.
-
Pull Request:
- Cuando completes la prueba, abre un pull request desde tu fork hacia el repositorio central.
-
Descripción del Pull Request:
- Proporciona una descripción clara y detallada de los cambios realizados, las funcionalidades agregadas y cualquier consideración especial.
-
Revisión del Código:
- Realizaré una revisión del código para evaluar la calidad y la implementación de las funcionalidades.
-
Feedback:
- Proporcionaré retroalimentación sobre los aspectos positivos y sugeriré mejoras si es necesario.
Notas:
- Utiliza Eloquent para las consultas a la base de datos.
- Asegúrate de manejar correctamente las solicitudes HTTP para la creación de tareas.
- Documenta cómo realizar la configuración para consumir la API pública elegida.