Subcategorías Existentes - bootcamp-uchile-2026/grupo-2-backend GitHub Wiki

Subcategorías Existentes

Funcionalidad

La funcionalidad de Subcategorías Existentes permite al usuario visualizar los diferentes conjuntos de objetos que ofrece la categoría seleccionada. Desde la perspectiva del backend, consiste en entregar la opción de conocer la cantidad de áreas en las que está dividida cada categoría de productos.


Objetivo

Permitir a los equipos de frontend y mobile conocer la cantidad de subcategorías que contiene una categoría seleccionada.


Responsabilidad del Backend

El backend deberá:

  1. Recibir la categoría seleccionada.
  2. Confirmar la existencia de subcategorías.
  3. Identificar las subcategorías asociadas.
  4. Entregar las subcategorías identificadas.

Contrato de API

Endpoint asociado:

GET /categorias/{categoriaId}/subcategorias

DTO de salida:

SubCategoriaDto[]

La definición completa del método HTTP, query parameters y respuestas se encuentra centralizada en Endpoints.

La estructura completa de los datos devueltos se encuentra centralizada en DTOs.


Reglas de negocio

  • Una categoría debe contar con al menos una subcategoría para disponer de opciones de navegación dentro del catálogo.
  • Cada subcategoría debe estar asociada a una categoría.
  • Solo se deben retornar las subcategorías asociadas a la categoría solicitada.
  • Cada subcategoría debe poseer un identificador único.
  • El nombre de la subcategoría debe estar definido para permitir su identificación en la interfaz.
  • El slug de la subcategoría debe ser único dentro del ámbito definido por el sistema.

Relación con Página de SubCategorías

La página de SubCategorías se encuentra asociada a la categoría de productos seleccionada por el usuario desde la opción Productos de la barra superior.

El flujo de navegación es el siguiente:

Barra superior → Productos → Categoría seleccionada → Página de SubCategorías → Subcategoría seleccionada → Productos correspondientes

Por ejemplo:

Barra superior → Productos → Moda Natural → Página de SubCategorías → Poleras / Pantalones / Polerones / Calzado / Accesorios

Al ingresar a una categoría, Frontend/Mobile solicita al Backend las subcategorías correspondientes mediante:

GET /categorias/{categoriaId}/subcategorias

El Backend retorna un SubCategoriaDto[], que permite a Frontend/Mobile conocer las subcategorías disponibles y mostrarlas como opciones de navegación.

Cuando el usuario selecciona una subcategoría, esta información puede utilizarse posteriormente para consultar los productos asociados a dicha subcategoría.