Skip to content

Latest commit

 

History

History
72 lines (56 loc) · 2.48 KB

File metadata and controls

72 lines (56 loc) · 2.48 KB

Mejoras en el Frontend

Integración con API de Proyectos

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.

Cambios Realizados

  1. Componente ProjectsSection

    • Se eliminó la importación de datos estáticos
    • Se implementó un hook useEffect para 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
  2. 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

Beneficios

  • 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

Uso

El componente ProjectsSection ahora carga automáticamente los proyectos desde el endpoint /api/projects cuando se monta. No se requiere ninguna configuración adicional.

Estructura de Datos

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)
}

Próximos Pasos

  • 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