Se ha implementado la integración con el endpoint GET de proyectos para mostrar los proyectos desde la base de datos en lugar de usar datos estáticos.
-
Componente ProjectsSection
- Se eliminó la importación de datos estáticos
- Se implementó un hook
useEffectpara obtener los proyectos desde la API - Se agregaron estados para manejar la carga, errores y los proyectos
- Se mejoró la interfaz de usuario para mostrar estados de carga y errores
- Se implementó una transformación de datos para adaptar la respuesta de la API al formato esperado por el componente
-
Componente ProjectCard
- Se actualizó el tipo de datos para incluir la fecha del proyecto
- Se mejoró el diseño para mostrar más información del proyecto
- Se agregaron elementos visuales como iconos y botones
- Se implementó un diseño más atractivo y responsivo
- Datos Dinámicos: Los proyectos ahora se cargan desde la base de datos, lo que permite actualizaciones en tiempo real
- Mejor Experiencia de Usuario: Se agregaron indicadores de carga y manejo de errores
- Diseño Mejorado: Las tarjetas de proyectos ahora muestran más información y tienen un diseño más atractivo
- Consistencia: El formato de los datos es consistente con la API
El componente ProjectsSection ahora carga automáticamente los proyectos desde el endpoint /api/projects cuando se monta. No se requiere ninguna configuración adicional.
El componente espera que la API devuelva una respuesta con la siguiente estructura:
{
"success": true,
"timestamp": "2023-11-15T12:34:56.789Z",
"count": 5,
"projects": [
{
"id": 1,
"nombre": "Proyecto 1",
"descripcion": "Descripción del proyecto 1",
"fecha": "2023-11-15",
"created_at": "2023-11-15T10:30:00.000Z",
"updated_at": "2023-11-15T10:30:00.000Z"
},
// ... más proyectos
]
}El componente transforma estos datos al formato:
{
id: number;
title: string; // nombre del proyecto
description: string; // descripción del proyecto
date?: string; // fecha del proyecto (opcional)
}- Implementar la funcionalidad para crear nuevos proyectos desde la interfaz
- Agregar la capacidad de editar y eliminar proyectos
- Mejorar la visualización de detalles del proyecto
- Implementar filtros y búsqueda de proyectos