Skip to content

Implementar "Gesti贸n de Lista de Seguimiento" (Requerimiento 4)#22

Description

@manuel-galvan

馃摑 Descripci贸n

Esta funcionalidad permitir谩 a los usuarios autenticados guardar los destinos tur铆sticos que buscaron (provenientes de la API externa) en una lista personal para hacerles seguimiento, ver su informaci贸n b谩sica y eliminarlos cuando lo deseen.
Estimaci贸n de horas: 8 horas.

Criterios de Aceptaci贸n.

  • El usuario autenticado debe poder seleccionar un destino desde los resultados de b煤squeda y agregarlo a su lista de seguimiento.
  • El sistema debe persistir en la base de datos interna la informaci贸n del destino (Nombre, pa铆s, poblaci贸n, coordenadas, foto y 煤ltima fecha de actualizaci贸n) vinculado al usuario actual.
  • El usuario debe poder visualizar una vista con su lista personal de destinos agregados, mostrando la informaci贸n b谩sica y la fecha de la 煤ltima actualizaci贸n.
  • El usuario debe poder eliminar cualquier destino previamente agregado a su lista.
  • La lista debe ser privada (cada usuario ve solo sus propios destinos guardados).

Tareas a realizar

Backend (Revisar documentaci贸n de ABP)

  • Crear la entidad TrackedDestination (o similar) en el Dominio asegurando que implemente la interfaz IUserOwned (para filtrado autom谩tico por usuario).
  • Actualizar el DbContext y crear la migraci贸n correspondiente para Entity Framework Core.
  • Crear los DTOs necesarios (ej. AddTrackedDestinationDto, TrackedDestinationDto).
  • Implementar los m茅todos en el Application Service (AddAsync, GetListAsync, DeleteAsync).
  • Crear las pruebas unitarias b谩sicas para estos m茅todos del servicio.

Frontend (Angular)

  • Generar los proxies actualizados en Angular (abp generate-proxy -t ng).
  • Modificar la UI de b煤squeda (TP 08) para agregar un bot贸n/铆cono de "Agregar a la lista" en cada tarjeta de resultado.
  • Crear un nuevo componente/p谩gina TrackingList (Favoritos).
  • Consumir el servicio para listar los destinos guardados y renderizarlos en tarjetas o tabla.
  • Agregar el bot贸n de "Eliminar" en cada 铆tem de la lista personal y conectarlo con el servicio.

Metadata

Metadata

Assignees

Labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions