Ir al contenido
DocuGraph

ecommerce-angular-spring

US-01 Explorar vitrina y catálogo

Como visitante, quiero aterrizar en la vitrina de la tienda, pasar al catálogo cuando busco o elijo una categoría, y agregar al carrito sin registrarme, para decidir qué comprar.

DONE. Cubierta por BE-02 y FE-03. La deuda de capacidad (FTS, limit máximo) vive en ARCH-06; no reabre esta historia. El checkout sigue en US-05.

Inicio: el visitante abre la tienda. Fin: un ítem entra al carrito y se abre el panel, sin cuenta. Pagar es US-05 (JM-01, IX-01).

flowchart LR
home["/ vitrina"] -->|"Ver productos / categoría / lupa"| catalog["/catalogo?q=&category="]
home -->|"agregar destacado"| panel["Panel carrito"]
catalog -->|"agregar / paginar / filtrar"| catalog
catalog -->|"agregar"| panel
catalog -.->|"más info"| pdp["/productos/:id"]
pdp -->|"agregar"| panel
home -.->|"/?q= se reescribe"| catalog
  • Dado un catálogo con productos visibles, cuando abro /, entonces veo vitrina (hero, categorías, destacados) y no la grilla completa ni el panel de filtros.
  • Dado que estoy en /, cuando pulso «Ver productos», una categoría o busco con la lupa, entonces voy a /catalogo con category y/o q en la URL.
  • Dada una URL /?q=, cuando cargo la home, entonces se reescribe a /catalogo?q= sin perder el término.
  • Dado un término o una categoría, cuando estoy en /catalogo, entonces la lista se restringe y la consulta permanece en la URL (compartible, recargable).
  • Dado un catálogo con más de una página, cuando pulso «Cargar más», entonces se anexan productos sin recargar ni perder el filtro.
  • Dado un viewport estrecho, cuando abro filtros en /catalogo, entonces aparecen en un sheet; en escritorio van en una columna.
  • Dado un producto no visible, cuando navego vitrina o catálogo, entonces no aparece.
  • Dado un producto visible con stock, cuando pulso «Agregar al carrito» en un destacado o en el listado, entonces el ítem entra al carrito y se abre el panel sin abandonar esa superficie (US-04, ARCH-05).
  • Dado un 422 de stock al agregar, cuando falla, entonces veo el error en la tarjeta y sigo en la misma ruta.
  • Imágenes de producto (excluido del MVP).
  • Gestión de categorías desde administración (solo lectura).
  • El detalle de producto (US-02) no es obligatorio para agregar.
  • Facetas extra (precio, marca, atributos): el contrato hoy solo filtra por name y categoryId; el sheet queda listo para ellas.
  • Promociones y banners (ROADMAP-01: MVP_2; ARCH-05).
  • Checkout y pago (US-05).
  • Módulo catalog (hexagonal). operationIds listProducts, listCategories (DS-02).
  • Agregar usa el módulo cart: addCartItem (US-04, DS-02).
  • Rutas: / CatalogHome; /catalogo CatalogBrowse; lupa en StorefrontShell.