Skip to content

Latest commit

 

History

History
287 lines (251 loc) · 186 KB

File metadata and controls

287 lines (251 loc) · 186 KB

Capítulo 3: Requirements Specification

En este capítulo, se utiliza las fases anteriores de identificación de necesidades de nuestros segmentoso objetivos para transformar cada necesidad en una historia de usuario que dé a entender lo que requiere cada uno para resolver su situación problemática.

3.1. To-Be Scenario Mapping

En el To-Be Scenario Map se representa el proceso real que vive un usuario al tener en cuenta la existencia del producto solución. Este mapa se basa en el As-IS Scenario Map y se utiliza para identificar posibles cambios que pueda ofrecer el producto solución a las diversas actividades que realiza cada segmento objetivo.

De esta forma, se diseñaron ambos mapas TO-BE de cada user persona en la aplicación Miro. El proceso de diseño empezó con el análisis de cada sección del AS-IS y se deliberaron mejoras que podría ofrecer el producto a cada user persona. Luego, se anotaron y reemplazaron puntos en los que la aplicación presentaría una mejora. Después, se usaron las actividades que sufrirían cambios al utilizar la aplicación y, nuevamente, nos colocamos en los zapatos de cada persona e imaginamos qué se diría al realizar cada actividad usando la nueva aplicación. A continuación, se identifica el sentimiento en cada pensamiento y se analiza por qué se presenta dicho sentimiento. Finalmente, se realiza nuevamente el proceso de hallar áreas positivas y negativas para cada persona.

User Persona 1: Dueños de licorerías

to_be_map_userpersona_1

Al comparar ambos mapas, se visualiza una mejor situación en cuanto al control del almacén del dueño de la licorería. Esta mejora no solo facilita las labores de gestión sino que permite dedicar una mayor cantidad de tiempo en otras actividades relacionadas al negocio como la publicidad y la gestión económica. Además, se identifica que el cliente ya no perdería productos gracias a las alertas sobre posibles fechas de vencimiento o posible escasez de algún producto.

User Persona 2: Proveedores de productos de licorerías

to_be_map_userpersona_2

Al comparar ambos mapas, se visualiza una mejor situación en cuanto a conseguir nuevos clientes y diferenciarse mejor de la competencia al distribuir de mejor manera las guías de cuidado de los productos que vende. Esta mejora lograría una alta diferenciación ante su competencia, ya que, los clientes confiarían más en los productos que vende el proveedor ya que la compra incluye una guía más detallada de cómo almacenar y cuidar correctamente cada producto.

3.2. User Stories

Para la especificación de requisitos de los usuarios, se desarrollaron las historias de usuario que describen cada requisito y funcionalidad que debe estar implementado en el desarrollo del producto final para satisfacer las necesidades del público objetivo. A continuación se presentan las historias de usuario relacionadas al landing page de el landing page de "StockSip". Esta sección reúne historias de usuario centradas en la experiencia inicial de los dueños de licorerías y proveedores al interactuar con la plataforma. Aquí se definen las necesidades clave relacionadas con la primera impresión, el acceso a la información esencial del sistema, y el incentivo para registrarse o contratar un plan.

Epic / Story ID Título Descripción Criterios de Aceptación (Gherkin) Relacionado con (Epic ID)
EP001 Visualizar propuesta de valor de StockSip Como visitante del landing page, quiero visualizar claramente los beneficios de StockSip, para entender cómo optimiza mi inventario. — —
US001 Ver propuesta de valor clara Como visitante, quiero ver en la sección principal una propuesta clara que explique cómo StockSip optimiza mi inventario, para entender su utilidad de forma inmediata. Escenario 1: Visitante entra al landing page

Dado que el visitante accede a la página principal
Cuando carga el sitio
Entonces ve un titular con la propuesta de valor clara y concisa en los primeros 3 segundos.
EP001
US002 Acceder a explicación detallada sobre el uso de la aplicación Como visitante, quiero entender detalladamente cómo StockSip me ayuda a resolver problemas de inventario, para tomar una decisión informada sobre su uso. Escenario 1: Visualización inicial de cómo funciona StockSip

Dado que el visitante navega al bloque "¿Cómo funciona?"
Cuando visualiza esta sección
Entonces visualiza las funcionalidades principales de la aplicación con íconos y títulos

Escenario 2: El visitante interactúa con las funcionalidades

Dado que está leyendo la sección de funcionalidades
Cuando hace clic o pasa el mouse sobre una funcionalidad
Entonces se muestran descripciones breves vinculadas a esa función.
EP001
EP002 Acceder a secciones según mi perfil Como visitante, quiero acceder a información específica según sea dueño de licorería o proveedor, para entender mejor cómo me beneficia StockSip. — —
US003 Ver beneficios para licorerías Como dueño de licorería, quiero conocer beneficios específicos como reducción de pérdidas o gestión de stock, para saber cómo StockSip puede ayudarme. Escenario 1: Visualización de beneficios específicos para licorerías

Dado que el visitante accede al landing page
Cuando navega por el contenido general de la página
Entonces visualiza automáticamente una sección con al menos 3 beneficios específicos para licorerías que incluyen ejemplos prácticos
EP002
US004 Ver beneficios para proveedores Como proveedor, quiero ver cómo StockSip me ayudaría a prever demanda y optimizar entregas, para mejorar mi eficiencia operativa. Escenario 1: Visualización de beneficios relevantes para proveedores

Dado que el visitante accede al landing page
Cuando navega por la sección de beneficios para proveedores
Entonces encuentra al menos 3 beneficios relevantes
EP002
EP003 Exploración inicial de la aplicación Como visitante, quiero entender el propósito general de StockSip, para que pueda evaluar si la aplicación es relevante para mis necesidades sin tener que entrar en detalles sobre sus funcionalidades o herramientas específicas. — —
US005 Explorar la aplicación como visitante Como visitante, quiero obtener una visión general de la aplicación StockSip para entender su propósito y cómo puede ser útil para los usuarios. Escenario 1: Descripción de la misión y propósito de la aplicación.

Dado que el visitante accede a la página de inicio de StockSip
Cuando navega por la sección de introducción
Entonces encuentra una descripción clara de la misión y el propósito general de la aplicación
EP003
EP004 Ver testimonios y casos de uso reales Como visitante, quiero ver ejemplos o testimonios de otros usuarios, para confiar más en la efectividad de StockSip. — —
US006 Leer testimonios de clientes Como visitante, quiero conocer experiencias de usuarios reales, para confiar en StockSip como una solución probada. Escenario 1: Visualización básica de testimonios

Dado que el visitante llega a la sección de testimonios
Cuando lee los bloques de opinión
Entonces encuentra al menos 2 testimonios con nombre, negocio y resultados
EP004
EP005 Descubrir beneficios de los distintos planes Como visitante, quiero conocer qué me ofrece el plan premium para saber si vale la pena invertir más en la solución. — —
US007 Comparar planes gratis y premium Como visitante, quiero ver una tabla comparativa, para entender las diferencias entre el plan gratuito y el premium. Escenario 1: Tabla comparativa visible

Dado que el visitante accede a la sección de precios
Cuando observe el contenido principal del landing page
Entonces puede identificar claramente una tabla que compara el plan gratis y el plan premium

Escenario 2: Acceso al landing page desde dispositivos móviles

Dado que el visitante navega desde un dispositivo móvil
Cuando accede a la sección de precios
Entonces la tabla comparativa se adapta correctamente a su dispositivo.
EP005
US008 Conocer el precio y condiciones Como visitante, quiero conocer el costo del plan premium y las condiciones de uso, para decidir si es una opción viable. Escenario 1: Precio y condiciones de cancelación visibles

Dado que el visitante accede a la sección de precios
Cuando busca información de costos
Entonces ve el precio del producto y las condiciones de cancelación
EP005

En esta sección se presentan las historias que definen las funcionalidades principales del sistema, enfocadas en la gestión operativa diaria de una licorería o proveedor. Desde la administración del inventario hasta la generación de reportes y reabastecimiento, estas funcionalidades buscan optimizar los procesos, reducir pérdidas y brindar un mayor control del negocio a sus usuarios.

Epic / Story ID Título Descripción Criterios de Aceptación (Gherkin) Relacionado con (Epic ID)
EP006 Crear cuenta en la aplicación Como usuario, quiero crear mi cuenta de manera sencilla y segura para poder acceder a la aplicación — —
US009 Registro de usuario Como nuevo usuario, quiero registrarme en la plataforma, para poder empezar a usar StockSip según mi rol. Escenario 1: Registro exitoso de un dueño de licorería

Dado que un nuevo usuario selecciona el rol "Dueño de licorería"
Cuando completa los campos requeridos del formulario de registro y presiona "Registrar"
Entonces el sistema crea una cuenta y redirige al panel inicial de inventario.


Escenario 2: Registro exitoso de un proveedor

Dado que un nuevo usuario selecciona el rol "Proveedor de licores"
Cuando completa los campos requeridos del formulario de registro y presiona "Registrar"
Entonces el sistema crea una cuenta y redirige al panel inicial de proveedor
EP006
US010 Selección de rol durante registro Como usuario nuevo, quiero seleccionar si soy dueño de licorería o proveedor, para crear una cuenta acorde a mi rol en el contexto. Escenario 1: Selección de rol durante el registro

Dado que el usuario completa el registro
Cuando elige su tipo de perfil (dueño o proveedor)
Entonces el sistema adapta la experiencia según el rol

Escenario 2: No selección de rol

Dado que el usuario no selecciona ningún rol
Cuando intenta completar el registro
Entonces el sistema muestra un mensaje indicando que es obligatorio
EP006
US011 Inicio de sesión de usuario registrado Como usuario registrado, quiero iniciar sesión usando mi correo y contraseña, para acceder a mi cuenta. Escenario 1: Inicio de sesión correcto

Dado que el usuario ha ingresado un correo y contraseña válidos
Cuando presiona "Iniciar sesión"
Entonces el sistema lo dirige a su panel correspondiente

Escenario 2: Error al ingresar credenciales incorrectas

Dado que el usuario ha ingresado datos inválidos
Cuando intenta iniciar sesión
Entonces el sistema muestra un mensaje de error y no lo deja avanzar
EP006
EP007 Protección de la cuenta del usuario Como usuario de la plataforma, quiero que mi cuenta esté protegida por medidas de seguridad como autenticación de dos factores, gestión de contraseñas y recuperación de cuenta, para que mis datos personales y de negocio estén seguros frente a accesos no autorizados — —
US012 Recuperar contraseña mediante correo electrónico Como usuario, quiero recuperar mi contraseña a través de un enlace enviado a mi correo electrónico, para poder acceder a mi cuenta si la olvido. Escenario 1: Recuperación de contraseña exitosa

Dado que el usuario no recuerda su contraseña
Cuando solicita la recuperación e ingresa un correo registrado
Entonces el sistema envía un enlace de recuperación al correo indicado

Escenario 2: Correo no registrado

Dado que el usuario ingresa un correo que no está registrado
Cuando solicita la recuperación de contraseña
Entonces el sistema muestra un mensaje de error indicando que el correo no existe
EP007
US013 Elegir una contraseña segura Como usuario, quiero crear una cuenta con una contraseña de alta seguridad para que la cuenta no sufra robos por usar una contraseña sencilla. Escenario 1: Longitud correcta de la contraseña

Dado que el usuario se encuentra creando una cuenta
Cuando digite una serie de caracteres alfanuméricos cuya cantidad sea menor a doce caracteres
Entonces se mostrará un mensaje en la aplicación que indique “La longitud mínima para una contraseña son 12 caracteres"

Escenario 2: Digitación de contraseña de baja seguridad

Dado que el usuario se encuentra creando una cuenta
Cuando digite una serie de caracteres alfanuméricos con poca variación o caracteres repetidos
Y el sistema procesa dicha serie
Y encuentre que la contraseña no es muy segura para una cuenta
Entonces se mostrará un mensaje en la aplicación que indique “contraseña poco segura”
EP007
US014 Cambiar contraseña desde configuración Como usuario, quiero cambiar mi contraseña desde la configuración de cuenta, para mantener la seguridad de mi información. Escenario 1: Cambio exitoso de contraseña

Dado que el usuario está autenticado y accede a la configuración de su cuenta
Cuando ingresa su contraseña actual y una nueva válida
Entonces el sistema actualiza la contraseña y muestra una confirmación

Escenario 2: Contraseña actual incorrecta

Dado que el usuario intenta cambiar la contraseña
Cuando ingresa una contraseña actual incorrecta
Entonces el sistema muestra un mensaje de error y no realiza el cambio
EP007
US015 Cerrar sesión manualmente Como usuario, quiero poder cerrar sesión desde cualquier dispositivo, para asegurar mi cuenta si la dejo abierta por error. Escenario 1: Cierre de sesión exitoso

Dado que el usuario ha iniciado sesión
Cuando presiona el botón "Cerrar sesión" desde el menú
Entonces el sistema cierra la sesión y lo redirige a la pantalla de inicio

Escenario 2: Acceso a sesión después de cerrar

Dado que el usuario ha cerrado sesión
Cuando intenta acceder a una ruta protegida
Entonces el sistema lo redirige a la pantalla de inicio de sesión
EP007
EP008 Gestión de Inventario Como usuario, quiero poder gestionar el inventario de productos de forma eficiente, para que pueda mantener un control total sobre las existencias, asegurando una operación fluida y precisa — —
US016 Registrar nuevo producto al inventario Como dueño de licorería o proveedor, quiero poder registrar un nuevo producto indicando sus características (nombre, tipo, lote, fecha de ingreso, fecha de caducidad, cantidad, proveedor), para mantener actualizado mi inventario. Escenario 1: Registro exitoso de un producto

Dado que el usuario ha iniciado sesión como dueño de licorería
Cuando llena correctamente todos los campos del formulario de producto
Entonces el sistema guarda el producto en el inventario
Y lo muestra en la lista principal

Escenario 2: Intento de registro con campos incompletos

Dado que el usuario deja campos obligatorios vacíos
Cuando presiona "Guardar producto"
Entonces se muestra un mensaje de error y no guarda el producto
EP008
US017 Visualizar lista completa de productos en stock Como dueño de licorería o proveedor, quiero ver una lista de todos mis productos en inventario, para revisar rápidamente qué tengo disponible. Escenario 1: Visualización de productos en inventario

Dado que el usuario ha registrado productos previamente
Cuando desee visualizar su inventario
Entonces se mostrarán todos los productos y sus atributos

Escenario 2: No hay productos en inventario

Dado que el usuario aún no ha registrado productos
Cuando desee visualizar su inventario
Entonces se muestra un mensaje indicando que no hay productos
EP008
US018 Editar un producto registrado Como dueño de licorería o proveedor, quiero modificar la información de un producto registrado, para corregir errores o actualizar su estado. Escenario 1: Edición exitosa de producto

Dado que el usuario accede al detalle de un producto existente
Cuando modifica los campos deseados y guarda
Entonces el sistema actualiza la información correctamente

Escenario 2: Edición con datos inválidos

Dado que el usuario intenta ingresar caracteres no válidos en campos numéricos
Cuando presiona "Guardar cambios"
Entonces el sistema muestra un mensaje de error y no guarda la edición
EP008
US019 Eliminar un producto del inventario Como dueño de licorería o proveedor, quiero poder eliminar un producto, para mantener mi inventario limpio y libre de registros innecesarios. Escenario 1: Eliminación confirmada de un producto  

Dado un dueño de licorería registrado en la aplicación  
Cuando este desee eliminar un producto y confirme su acción  
Entonces el sistema elimina el producto y actualiza la lista

Escenario 2: Cancelación de eliminación  

Dado que el dueño de licorería desea eliminar un producto  
Cuando el dueño de licorería cambie de opinión y no confirme su acción  
Entonces el sistema no elimina el producto
EP008
US020 Detallar el estado de salida de productos del inventario Como dueño de licorería o proveedor, quiero registrar el motivo por el cual un producto sale del inventario (venta, merma, consumo interno o donación), para tener un mejor control y trazabilidad del stock. Escenario 1: Registrar un producto como vendido

Dado que el dueño retira un producto del inventario
Cuando marque un producto como vendido como motivo de salida
Entonces el sistema actualiza el inventario y registra la salida como venta

Escenario 2: Registrar un producto como pérdida

Dado que el producto se ha dañado o vencido
Cuando marque dicho producto como pérdida
Entonces el sistema descuenta el producto del inventario y lo marca como pérdida

Escenario 3: Registrar un producto como consumo interno

Dado que el producto fue usado dentro del negocio,
Cuando el dueño de licorería lo marque como consumido internamente
Entonces el sistema registra el motivo y descuenta el stock

Escenario 4: Registrar un producto como donación
Dado que el dueño desea donar un producto
Cuando lo etiquete como donado
Entonces el sistema registra la salida y actualiza el inventario como donado
EP008
EP009 Alertas de Reposición y Vencimiento Como dueño de licorería o proveedor, quiero recibir alertas automáticas cuando los productos estén próximos a agotarse, para que pueda tomar las acciones necesarias y evitar problemas de disponibilidad.
US021 Configurar alertas de reposición de productos Como dueño de licorería o proveedor, quiero configurar alertas para que el sistema me notifique cuando un producto esté por debajo del stock mínimo, para evitar quiebres de stock. Escenario 1: Configurar umbral de stock mínimo

Dado que el dueño accede a la configuración de alertas
Cuando define un stock mínimo para un producto
Entonces el sistema debe guardar el umbral definido y activarlo

Escenario 2: Activar alerta cuando se alcanza el mínimo

Dado que un producto baja por debajo del stock mínimo definido
Cuando se realiza una venta o salida
Entonces el sistema debe enviar una alerta al dueño indicando que debe reponer ese producto
EP009
US022 Alertas por próximo vencimiento Como dueño de licorería o proveedor, quiero recibir notificaciones cuando un producto esté próximo a vencer, para tomar decisiones a tiempo y evitar pérdidas. Escenario 1: Configurar margen de vencimiento

Dado que el dueño define un número de días para alerta de vencimiento
Cuando se acerque la fecha de vencimiento de un producto dentro de ese margen
Entonces el sistema debe generar una alerta visual y/o por correo

Escenario 2: Visualizar productos próximos a vencer

Dado que hay productos dentro del margen de vencimiento
Cuando el dueño consulta la lista de productos
Entonces debe poder visualizar claramente cuáles están por vencer
EP009
EP010 Visualización de la Salud del Inventario Como dueño de una licorería o proveedor, quiero tener una vista consolidada y fácil de entender sobre la salud del inventario, para que pueda tomar decisiones informadas sobre reposición, descuentos o promociones
US023 Ver indicadores de rotación de inventario Como dueño de licorería, quiero ver qué productos se mueven rápido y cuáles se están quedando, para tomar mejores decisiones de compra. Escenario 1: Visualizar productos con alta rotación

Dado que el sistema calcula rotación basado en las ventas
Cuando el dueño accede al dashboard de salud de inventario
Entonces debe ver listados los productos con más rotación

Escenario 2: Visualizar productos con baja rotación

Dado que existen productos con pocas salidas
Cuando el dueño revisa los indicadores
Entonces debe poder visualizar los productos que se mueven lento
EP010
US024 Visualizar productos en riesgo de vencimiento o merma Como dueño de licorería o proveedor, quiero visualizar productos que tienen riesgo de convertirse en merma por baja rotación o vencimiento próximo, para tomar acción proactiva. Escenario 1: Detectar productos en riesgo

Dado que el sistema identifica productos con rotación baja o vencimiento próximo
Cuando el dueño revisa el panel de salud de inventario
Entonces debe ver señalados estos productos con advertencias
EP010
EP011 Gestión de Guías de Conservación Como proveedor, quiero registrar y revisar las guías de conservación de mis productos para asegurarme de que se almacenen en condiciones adecuadas y evitar pérdidas por mal estado.
US025 Crear guía de conservación por tipo de licor Como proveedor, quiero registrar una guía de conservación por tipo de licor, para asegurarme de que los productos se almacenen correctamente. Escenario 1: Registrar una nueva guía de conservación

Dado que el proveedor accede a la sección de guías de conservación
Cuando registra una nueva guía para un tipo de licor
Entonces el sistema debe almacenar y vincular la guía con ese tipo de producto

Escenario 2: Validar ingreso de contenido obligatorio

Dado que el proveedor desea guardar una guía
Cuando deja campos obligatorios vacíos
Entonces el sistema debe notificarle y evitar el guardado hasta que complete la información
EP011
US026 Consultar guía de conservación desde el inventario Como dueño de licorería, quiero consultar rápidamente las guías de conservación desde cada producto en el inventario, para asegurarme de su correcta conservación. Escenario 1: Acceder a guía desde un producto

Dado que el dueño consulta el detalle de un producto en inventario
Cuando hace clic en la opción de guía de conservación
Entonces el sistema debe mostrarle la guía relacionada al tipo de licor correspondiente

Escenario 2: Mostrar mensaje si no hay guía

Dado que no existe una guía asignada al tipo de licor
Cuando el dueño accede a la sección de guía de conservación
Entonces el sistema debe mostrar un mensaje indicando que aún no se ha registrado una guía.
EP011
EP012 Reportes de Pérdidas Como dueño de licorería, quiero generar reportes de pérdidas por productos vencidos, dañados o mal almacenados para saber cuánto estoy perdiendo y tomar mejores decisiones en mis compras y almacenamiento.
US027 Generar reporte de pérdidas por tipo de baja Como dueño de licorería, quiero generar reportes de pérdidas clasificadas por tipo de baja (merma, consumo interno, donación), para entender mejor el destino de mis productos no vendidos. Escenario 1: Generar reporte por tipo de pérdida

Dado que el dueño accede al módulo de reportes de pérdidas
Cuando selecciona la opción de generar reporte por tipo de baja
Entonces el sistema debe mostrar un reporte con las cantidades y motivos detallados

Escenario 2: Filtrar reporte por rango de fechas

Dado que el dueño quiere analizar pérdidas en un periodo específico
Cuando selecciona un rango de fechas
Entonces el sistema debe generar el reporte solo con registros dentro de ese rango
EP012
US028 Visualizar resumen económico de pérdidas Como dueño de licorería, quiero ver un resumen económico del valor monetario de las pérdidas, para conocer su impacto financiero. Escenario 1: Mostrar valor total de pérdidas

Dado que el dueño ha generado un reporte de pérdidas
Cuando el sistema muestra los datos
Entonces debe incluir el valor monetario de los productos perdidos según su precio de compra

Escenario 2: Mostrar desglose por tipo de pérdida

Dado que el reporte está generado
Cuando se visualiza en pantalla
Entonces debe mostrar subtotales por merma, consumo interno y donación
EP012
EP013 Optimización de Compras Como dueño de licorería, quiero recibir recomendaciones de compra basadas en mis ventas y stock actual para evitar quedarme sin productos o comprar de más.
US029 Registrar factura de compra manualmente Como dueño de licorería, quiero registrar los detalles de una factura de compra manualmente, para llevar un control de mis adquisiciones. Escenario 1: Registrar nueva factura con campos obligatorios

Dado que el dueño accede a la sección de facturación de compras
Cuando llena los datos de proveedor, fecha, productos y total
Entonces el sistema guarda la factura y la asocia a su inventario

Escenario 2: Validar campos requeridos al registrar factura

Dado que el dueño intenta registrar una factura
Cuando omite un campo obligatorio como proveedor o fecha
Entonces el sistema debe mostrar un mensaje de error indicando qué falta
EP013
US030 Asociar productos comprados a inventario Como dueño de licorería, quiero que los productos registrados en una factura se integren automáticamente a mi inventario, para ahorrar tiempo y evitar errores manuales. Escenario 1: Actualizar inventario con productos de la factura

Dado que el dueño registra una factura con productos válidos
Cuando guarda la factura
Entonces el sistema actualiza el stock del inventario con los nuevos productos

Escenario 2: Evitar duplicados al asociar productos

Dado que el producto ya existe en el inventario
Cuando se registra en la factura
Entonces el sistema debe sumar las nuevas unidades al stock existente, no crear uno nuevo
EP013
US031 Registro de pedidos realizados a proveedores Como dueño de licorería, quiero tener un historial de los pedidos realizados a cada proveedor, para hacer seguimiento de mis compras y evaluar su desempeño. Escenario 1: Ver historial de compras por proveedor

Dado que el dueño accede al módulo de compras
Cuando selecciona un proveedor específico
Entonces debe ver una lista cronológica de los pedidos anteriores, con fechas y cantidades

Escenario 2: Filtrar historial por producto

Dado que desea ver cómo ha comprado un producto en particular
Cuando usa el filtro por nombre de producto
Entonces el sistema debe mostrar solo los pedidos que incluyeron ese ítem.
EP013
US032 Visualizar historial de facturación de compras Como dueño de licorería, quiero consultar el historial de facturación de compras, para revisar cuánto he comprado y a qué proveedores. Escenario 1: Consultar facturas registradas

Dado que el dueño accede al historial de facturas
Cuando elige un rango de fechas o proveedor
Entonces el sistema debe mostrar todas las facturas coincidentes con la búsqueda

Escenario 2: Mostrar detalles de una factura

Dado que el dueño selecciona una factura del historial
Cuando da clic en “ver detalle”
Entonces el sistema muestra los productos, cantidades, precios y total asociado.
EP013
EP014 Gestión de Zonas de Almacenamiento Como usuario, quiero organizar mi almacén en zonas definidas para ubicar fácilmente mis productos y optimizar el espacio disponible.
US033 Crear zonas de almacenamiento dentro del local Como dueño de licorería, quiero poder definir distintas zonas dentro de mi local (como "almacén principal", "zona de frío", "estantería de exhibición"), para tener mejor control sobre la ubicación de mis productos. Escenario 1: Crear una nueva zona de almacenamiento

Dado que el dueño accede a la sección de zonas de almacenamiento
Cuando ingresa un nombre de zona y una descripción
Entonces el sistema guarda la nueva zona y la agrega a la lista

Escenario 2: Validar nombre único para cada zona

Dado que el dueño intenta crear una zona con un nombre ya existente
Cuando guarda la información
Entonces el sistema muestra un mensaje indicando que el nombre ya está en uso
EP014
US034 Asignar productos a una zona específica Como dueño de licorería, quiero poder asignar cada producto a una zona de almacenamiento, para saber exactamente dónde está ubicado. Escenario 1: Asignar productos a una zona existente

Dado que hay zonas de almacenamiento creadas
Cuando el dueño edita un producto y selecciona una zona
Entonces el sistema guarda la ubicación y la muestra en el detalle del producto

Escenario 2: Mostrar ubicación del producto en inventario

Dado que un producto tiene asignada una zona
Cuando el dueño visualiza el inventario
Entonces el sistema muestra en qué zona se encuentra ese producto
EP014
US035 Editar o eliminar una zona de almacenamiento Como dueño de licorería, quiero poder editar o eliminar una zona si ya no la uso o si necesito actualizar su información. Escenario 1: Editar el nombre o descripción de una zona
Dado que hay zonas creadas
Cuando el dueño selecciona una zona y edita su información
Entonces el sistema actualiza los datos correctamente

Escenario 2: Eliminar una zona sin productos asignados

Dado que una zona no tiene productos asignados
Cuando el dueño decide eliminarla
Entonces el sistema permite eliminarla sin problemas

Escenario 3: Bloquear eliminación si hay productos asignados

Dado que una zona tiene productos asignados
Cuando el dueño intenta eliminarla
Entonces el sistema impide la acción y sugiere reasignar los productos primero
EP014
US036 Visualizar el mapa general de zonas y productos Como dueño de licorería, quiero poder ver un mapa o lista general que me indique qué productos están en qué zonas, para facilitar la ubicación de los mismos. Escenario 1: Ver lista de zonas con productos asignados

Dado que el dueño accede a la sección de zonas
Cuando selecciona una zona
Entonces el sistema muestra todos los productos que están dentro de ella

Escenario 2: Filtrar productos por zona

Dado que hay múltiples productos y zonas registradas
Cuando el dueño aplica un filtro por zona
Entonces el sistema solo muestra los productos que están ubicados en esa zona.
EP014
EP015 Panel de Control del Usuario Como usuario, quiero tener un panel de control donde pueda ver rápidamente mis ventas, stock, productos en riesgo y tareas pendientes para gestionar mi negocio de forma eficiente.
US037 Visualizar resumen general en el panel de control Como usuario, quiero ver un resumen con los datos clave apenas ingreso al sistema, para tener una visión general rápida de mi actividad. Escenario 1: Mostrar panel para dueños de licorería

Dado que el usuario es dueño de una licorería
Cuando accede al panel de control
Entonces el sistema muestra métricas como productos bajos en stock, productos por vencer, y ventas recientes

Escenario 2: Mostrar panel para proveedores

Dado que el usuario es proveedor
Cuando accede al panel de control
Entonces el sistema muestra métricas como pedidos recibidos, entregas pendientes y productos más solicitados
EP015
US038 Ver alertas destacadas en el panel Como usuario, quiero ver alertas destacadas en el panel (como vencimientos o pedidos retrasados), para poder tomar acciones inmediatas. Escenario 1: Ver alertas en panel del dueño de una licorería

Dado que un producto está por vencer o bajo en stock
Cuando el dueño entra al panel
Entonces el sistema muestra la alerta correspondiente con un color distintivo

Escenario 2: Ver alertas en panel del proveedor

Dado que hay un pedido atrasado
Cuando el proveedor entra al panel
Entonces el sistema muestra la alerta con un mensaje claro de seguimiento
EP015
EP016 Plan de Reabastecimiento Como usuario, quiero tener un plan automático o manual de reabastecimiento para saber cuándo y cuánto debo reponer de cada producto.
US039 Crear un plan de reabastecimiento Como proveedor, quiero poder crear un plan de reabastecimiento para cada licorería, para organizar mis entregas según sus necesidades. Escenario 1: Crear un plan para una licorería específica

Dado que el proveedor ha iniciado sesión
Cuando selecciona "Nuevo plan de reabastecimiento" e ingresa los datos necesarios (cliente, productos, frecuencia)
Entonces el sistema guarda el plan asociado a esa licorería

Escenario 2: Validación de campos obligatorios

Dado que el proveedor no completa todos los campos requeridos
Cuando intenta guardar el plan
Entonces el sistema muestra un mensaje de error indicando los campos faltantes
EP016
US040 Editar plan de reabastecimiento existente Como proveedor, quiero poder modificar un plan de reabastecimiento ya creado, para ajustarlo a nuevas necesidades del cliente. Escenario 1: Editar plan existente

Dado que el proveedor accede a su lista de planes
Cuando selecciona un plan y realiza cambios
Entonces el sistema actualiza la información correctamente

Escenario 2: Cancelar edición sin guardar cambios

Dado que el proveedor inicia la edición de un plan
Cuando cancela antes de guardar
Entonces el sistema mantiene los datos originales sin modificaciones
EP016
US041 Recibir alertas de planes próximos a vencer Como proveedor, quiero recibir alertas sobre planes de reabastecimiento con fechas próximas, para no olvidar coordinar nuevas entregas. Escenario 1: Alerta de plan próximo a vencer

Dado que la fecha de vencimiento de un plan se acerca (menos de 3 días)
Cuando el proveedor inicia sesión
Entonces el sistema le muestra una alerta recordatoria en su panel

Escenario 2: Ver todos los planes próximos a vencer

Dado que el proveedor quiere planificar su agenda
Cuando accede a la sección “Planes por vencer”
Entonces el sistema lista todos los planes ordenados por fecha de vencimiento
EP016
EP017 Guías de Remisión Interna Como usuario, quiero generar guías de remisión interna para llevar un control del traslado de productos entre mis almacenes o locales.
US042 Crear guía de remisión interna Como usuario (dueño o proveedor), quiero poder generar una guía de remisión interna para registrar el traslado de productos entre ubicaciones, a fin de mantener el control del inventario. Escenario 1: Crear una guía válida

Dado que el usuario ha iniciado sesión
Cuando llena los datos de origen, destino, productos, y motivo del traslado
Entonces el sistema genera una guía de remisión con un código único

Escenario 2: Campos obligatorios

Dado que el usuario intenta crear una guía sin completar todos los campos
Cuando presiona el botón "Guardar"
Entonces el sistema le notifica cuáles campos faltan por completar
EP017
US043 Consultar historial de guías emitidas Como usuario, quiero consultar todas las guías de remisión internas que he generado, para mantener un registro de movimientos logísticos. Escenario 1: Ver historial completo

Dado que el usuario accede a la sección donde se encuentren sus guías de remisión,
Cuando revisa la lista de guías
Entonces el sistema muestra las guías con su fecha, código y estado (entregado, en tránsito, etc.)

Escenario 2: Filtrar guías por fecha o ubicación

Dado que el usuario quiere ver solo ciertas guías
Cuando aplica filtros de fecha o ubicación
Entonces el sistema muestra únicamente las guías que coinciden con los filtros
EP017
US044 Cambiar estado de una guía a entregado Como usuario, quiero poder cambiar el estado de una guía a "entregado" una vez que el producto ha llegado al destino, para mantener un registro actualizado. Escenario 1: Confirmar entrega

Dado que el usuario ve una guía con estado "en tránsito"
Cuando selecciona la opción para cambiar el estado de la guía
Entonces el sistema actualiza el estado de la guía y registra la fecha de entrega

Escenario 2: Error al cambiar estado sin confirmación

Dado que el usuario no confirma la llegada del producto
Cuando intenta cambiar el estado de la guía
Entonces el sistema solicita una confirmación antes de hacer el cambio
EP017
EP018 Gestión del Perfil del Usuario Como usuario, quiero poder actualizar mi información personal y de negocio dentro del sistema para tener el control total de mis datos.
US045 Editar datos personales del perfil Como usuario, quiero poder editar mis datos personales como nombre, teléfono, correo o información sobre mi local de venta, para mantener mi información actualizada. Escenario 1: Editar datos exitosamente

Dado que el usuario ha iniciado sesión y accede a su perfil
Cuando el usuario actualiza su nombre, teléfono, correo o información sobre su local de venta y guarda los cambios
Entonces el sistema muestra un mensaje de confirmación y guarda los nuevos datos

Escenario 2: Ingreso de datos inválidos

Dado que el usuario ingresa datos inválidos como un correo mal escrito
Cuando intenta guardar los cambios
Entonces el sistema muestra un mensaje de error indicando qué campos están incorrectos
EP018
US046 Subir y actualizar foto de perfil Como usuario, quiero subir o cambiar mi foto de perfil, para personalizar mi cuenta dentro del sistema. Escenario 1: Subir una nueva foto

Dado que el usuario accede a la sección de perfil
Cuando selecciona una imagen desde su dispositivo
Entonces el sistema muestra una vista previa y permite confirmar el cambio

Escenario 2: Imagen no válida

Dado que el usuario sube una imagen en un formato no permitido
Cuando intenta guardar los cambios
Entonces el sistema muestra un mensaje indicando que el formato o tamaño es incorrecto
EP018
US047 Cambiar contraseña desde el perfil Como usuario, quiero cambiar mi contraseña desde el perfil, para asegurar mi cuenta si considero que está en riesgo. Escenario 1: Cambio exitoso de contraseña

Dado un usuario que ha iniciado sesión y elige cambiar su contraseña
Cuando ingresa su contraseña actual, la nueva contraseña y la confirma correctamente
Entonces el sistema actualiza la contraseña y notifica el cambio

Escenario 2: Error en verificación de contraseña

Dado que el usuario escribe mal su contraseña actual o la confirmación no coincide
Cuando intenta guardar
Entonces el sistema muestra un mensaje de error específico según el caso
EP018
US048 Ver tipo de cuenta y plan actual Como usuario, quiero ver el tipo de cuenta que tengo y si estoy en un plan premium o gratuito, para saber qué funcionalidades tengo disponibles. Escenario 1: Visualizar información de cuenta

Dado un usuario que ha iniciado sesión
Cuando entra a su cuenta personal
Entonces el sistema muestra su rol (proveedor o licorería) y el plan al que está suscrito

Escenario 2: Cambiar plan (solo informativo)

Dado que el usuario desea cambiar de plan
Cuando revisa su información actual
Entonces el sistema muestra un mensaje de que los cambios se realizan desde el panel de administración
EP018
EP019 Acceso a Planes Como usuario, quiero ver los planes del sistema y cambiar de plan según el crecimiento o necesidades de mi negocio.
US049 Visualizar beneficios del Plan Premium Como proveedor, quiero poder ver los beneficios del Plan Premium desde mi cuenta, para saber qué funcionalidades tengo disponibles. Escenario 1: Ver beneficios desde el perfil

Dado que el proveedor ha iniciado sesión
Cuando accede a la sección donde estén registrados sus planes
Entonces el sistema muestra una lista detallada de beneficios que incluye el Plan Premium

Escenario 2: Comparar beneficios con otros planes

Dado que el proveedor desea entender los beneficios de su plan
Cuando accede a la sección donde estén registrados sus planes
Entonces el sistema muestra una tabla comparativa entre el plan gratuito y el Plan Premium
EP019
US050 Ver fecha de vencimiento del Plan Premium Como proveedor con plan premium, quiero ver hasta cuándo está activo mi plan, para planificar la renovación con anticipación. Escenario 1: Fecha de vencimiento visible

Dado que el proveedor tiene un Plan Premium
Cuando accede a su perfil y a la sección donde estén registrados sus planes
Entonces el sistema muestra claramente la fecha de vencimiento de su suscripción

Escenario 2: Plan sin fecha asignada

Dado que el proveedor tiene el Plan Premium activado manualmente sin fecha registrada
Cuando revisa su cuenta
Entonces el sistema muestra un mensaje indicando que debe consultar con el administrador
EP019
EP020 Facturación y Registro de Transacciones Como usuario, quiero registrar todas mis ventas, compras y facturas para llevar un control claro de mis ingresos y egresos.
US051 Registrar una factura de venta manualmente Como proveedor o dueño de licorería, quiero registrar una factura manualmente, para llevar un control de mis ventas realizadas fuera de la plataforma. Escenario 1: Registro exitoso de factura

Dado que el usuario ha iniciado sesión
Y se encuentra en la sección de facturación
Cuando completa los campos requeridos de la factura (cliente, monto, fecha, etc.)
Y envía la información
Entonces el sistema guarda la factura y la muestra en el historial

Escenario 2: Registro con campos incompletos

Dado que el usuario quiere registrar una factura
Cuando deja campos obligatorios vacíos
Entonces el sistema muestra un mensaje de error y no permite el registro
EP020
US052 Consultar historial de facturación Como proveedor o dueño de licorería, quiero consultar el historial de facturación, para revisar mis transacciones anteriores. Escenario 1: Ver historial completo

Dado que el usuario ha iniciado sesión
Cuando desee visualizar su historial de facturación
Entonces se muestran todas las facturas registradas ordenadas por fecha

Escenario 2: Filtrar por fecha o cliente

Dado que el usuario quiere buscar facturas específicas
Cuando usa los filtros disponibles (fecha, cliente, tipo de documento)
Entonces el sistema muestra solo las facturas que cumplen con los criterios seleccionados.
EP020
EP021 Ofrecer descuentos Como proveedor, quiero ofrecer descuentos en la compra a mis clientes para incentivar a que compren más productos que les ofrezco.
US053 Aplicar un descuento a un producto Como proveedor, deseo crear y aplicar descuentos a productos de mi catálogo/inventario para llamar la atención de los clientes. Escenario 1: Creación de descuento

Dado que un proveedor que ha iniciado sesión en su cuenta
Cuando cree un descuento indicando el porcentaje de rabaja del precio y la duración de dicho descuento
Entonces se creará un nuevo descuento para que pueda ser aplicado.

Escenario 2: Aplicar descuento a un producto

Dado que un proveedor que ha creado un descuento recientemente
Cuando desee aplicarselo a un producto con stock disponible que se encuentre en su inventario o catálogo
Entonces , inmediatamente, el producto tendrá un nuevo descuento aplicado.

Escenario 3: Aplicar descuento a producto sin stock

Dado que un proveedor que ha creado un descuento recientemente
Cuando desee aplicar dicho descuento a un producto sin stock disponible
Entonces se indicará que no es posible realizar dicha acción.
EP021
US054 Eliminar promoción Como proveedor, deseo eliminar una promoción creada o aplicada, para indicar que el o los productos ya no poseen un descuento activo. Escenario 1: Eliminación automática

Dado que un proveedor que ha creado un descuento con fecha de vencimiento
Cuando llegue el día de la fecha colocada
Entonces se eliminará el descuento de todos los productos a los que fue aplicado.

Escenario 2: Eliminar promoción manualmente

Dado que un proveedor que ha creado un descuento con o sin fecha de vencimiento
Cuando elimine dicha promoción en una fecha anterior a la fecha de vencimiento
Entonces se quitará la promoción de los productos a los que fue agregada.
EP021
US055 Modificar descuento Como proveedor, deseo modificar información de un descuento creado previamente, para mostrar información actualizada de la promoción a mis clientes. Escenario 1: Modificar información

Dado que un proveedor que ha creado un descuento recientemente
Cuando modifique algún apartado de información de dicho descuento
Entonces se actualizará la información correspondiente al descuento.

Escenario 2: Intento de borrar alguna información

Dado que un proveedor que ha creado un descuento
Cuando elimine un apartado de información del producto y desee actualizar
Entonces se indicará que no es posible realizar dicha acción.
EP022 Posesión de catálogo Como proveedor, quiero tener un catálogo de productos para que mis clientes sepan qué productos les ofrezco.
US056 Creación de catálogo Como proveedor, quiero crear un catálogo de productos relacionados a licorerías, para que mis clientes o posibles nuevos clientes tengan en cuenta los productos que les ofrezco. Escenario 1: Crear un catálogo

Dado que el proveedor ha iniciado sesión en su cuenta
Cuando cree un nuevo catálogo
Entonces se mostrará un catálogo vacío.

Escenario 2: Publicar catálogo vacío

Dado que un proveedor que ha creado un catálogo recientemente
Cuando publique un catálogo vacío
Entonces se indicará que no es posible realizar dicha acción.

Escenario 3: Publicar catálogo con al menos un producto

Dado que un proveedor que ha creado un catálogo recientemente
Cuando publique un catálogo que contenga al menos un producto
Entonces se publicará el catálogo y todos sus clientes podrán visualizarlo.
EP022
US057 Agregar producto al catálogo Como proveedor, quiero añadir productos al catálogo creado, para detallar información sobre los productos que ofrezo a los clientes. Escenario 1: Detallar información correctamente

Dado que un proveedor que ha creado un catálogo recientemente
Cuando añada un producto con nombre, tipo de producto, contenido, marca y precio correctamente
Entonces se añadirá el producto a su catálogo.

Escenario 2: Falta detallar algún campo

Dado que un proveedor que ha creado un catálogo recientemente
Cuando desee añadir un producto, pero falta agregar alguna información como el contenido
Entonces se indicará que no es posible realizar dicha acción.

Escenario 3: No hay información del producto

Dado que un proveedor que ha creado un catálogo recientemente
Cuando desee añadir un producto, pero no ha registrado información alguna del producto
Entonces se indicará que no es posible realizar dicha acción.

Escenario 4: Agregar producto desde el inventario

Dado que un proveedor que ha creado un catálogo recientemente
Cuando desee añadir un producto que ya haya sido agregado al inventario
Entonces se añadirá dicho producto a su catálogo.
EP022
US058 Eliminación de producto del catálogo Como proveedor, quiero eliminar productos del catálogo, para mostrar los productos con stock disponible para la venta a mis clientes. Escenario 1: Eliminación automática

Dado que un proveedor que posee un catálogo con productos
Cuando un producto se quede sin stock en el inventario
Entonces se indicará que el producto ya no posee stock disponible.

Escenario 2: Eliminar producto manualmente del catálogo

Dado que un proveedor posee un catálogo
Cuando elimine un producto del catálogo y confirme su acción
Entonces ya no se mostrará en su catálogo, pero no se eliminará de su almacén.
EP022
EP023 Generar una orden de compra Como dueño de licorería, quiero generar una orden de compra que será recibida por mi proveedor, para poder reabastecer mi negocio.
US059 Generar orden de compra Como dueño de licorería, quiero enviar una orden de compra a mi proveedor para reabastecerme de productos en mi tienda. Escenario 1: Generar orden manual con productos

Dado que un dueño de licorería necesita productos para abastecerse
Cuando agregue productos a una nueva orden de compra y confirme su acción
Entonces se enviará dicha orden al proveedor.

**Escenario 2:**Generar orden de compra sin productos

Dado que un dueño de licorería necesita reabastecerse de productos
Cuando no añada productos a la orden de compra
Entonces se indicará que no es posible enviar una orden vacía.

**Escenario 3:**Generar orden de compra automáticamente

Dado que un dueño de licorería necesita reabastecerse de productos en su tienda
Cuando genere una orden de compra automática
Entonces se colocarán automáticamente los productos con bajo stock o stock nulo

Y se enviará la orden al proveedor.
EP023
US060 Visualizar estado de la orden de compra Como dueño de licorería, quiero ver en qué estado se encuentra mi orden de compra creada, para saber si fue aceptada o rechazada. Escenario 1: Orden en revisión

Dado que un dueño de licorería ha enviado una orden de compra recientemente
Cuando visualice el estado de dicha orden
Entonces se indicará que aún está en revisión.

Escenario 2: Orden aceptada

Dado que un dueño de licorería ha generado una orden de compra recientemente
Cuando su orden sea aceptada por el proveedor
Entonces se le indicará que su orden ha sido aceptada.

Escenario 3: Orden rechazada

Dado que un dueño de licorería ha generado una orden de compra
Cuando el proveedor marque como rechazada dicha orden
Entonces se le indicará al dueño de licorería que su orden ha sido rechazada por un motivo en específico.
EP023
US061 Notificaciones sobre estado de la orden de compra Como dueño de licorería, quiero recibir notificaciones acerca del estado de mi orden de compra, para estar enterado y tener un seguimiento de la orden generada. Escenario 1: Notificación inicial

Dado que un dueño de licorería desee reponer productos en su tienda
Cuando genere una nueva orden de compre y se la envíe al proveedor
Entonces recibirá una notificación.

Escenario 2: Notificación por orden aceptada

Dado que un proveedor ha generado una orden de compra
Cuando la orden de compra sea aceptada
Entonces el dueño de licorería recibirá una notificación indicando que la orden fue aceptada.

Escenario 3: Notificación por orden rechazada

Dado que un dueño de licorería ha creado una orden de compra
Cuando la orden de compra sea rechazada
Entonces el dueño de licorería recibirá una notificación indicando que su orden fue rechazada.
EP023
EP024 Generar una orden de venta Como proveedor, quiero generar una orden de venta a partir de la orden de compra que envía mi cliente, para poder concretar una nueva venta y tener información sobre la misma.
US062 Coordinar fecha de entrega Como proveedor, quiero coordinar una fecha de envío de la orden generada por mi cliente, para tener organizados todos mis envíos. Escenario 1: Propuesta de horario aceptada

Dado que un proveedor desea coordinar una fecha para entregar el pedido de su cliente
Cuando proponga un horario fijo y sea aceptado por el cliente
Entonces se guardará dicha información con la orden de venta.

Escenario 2: Propuesta de horario rechazada

Dado que un proveedor desea coordinar un horario para enviar el pedido de su cliente
Cuando proponga un horario y sea rechazado por el cliente
Entonces se repetirá el mismo proceso hasta llegar a un consenso entre ambas partes.
EP024
US063 Actualizar estado de la orden de venta Como proveedor, quiero actualizar el estado del pedido de mi cliente, para mantenerlo informado. Escenario 1: Estado inicial

Dado que un proveedor que ha recibido una orden de compra de su cliente
Cuando el proveedor acepte dicha orden
Entonces se colocará el estado de "Aceptado" al pedido.

Escenario 2: Pedido en preparación

Dado que un proveedor que ha aceptado un pedido de compra
Cuando el proveedor esté preparando el envío
Entonces el estado del pedido se actualizará a "En preparación".

Escenario 3: El pedido está siendo enviado

Dado que un proveedor ha preparado el pedido de su cliente
Cuando el proveedor esté enviando el pedido a su cliente
Entonces se actualizará el estado del pedido a "Enviando".

Escenario 4: Pedido recibido

Dado que un proveedor ha llegado al local de su cliente
Cuando entregue el pedido al cliente y esté conforme
Entonces se marcará el pedido como "Entregado".

Escenario 5: Pedido cancelado o con retraso

Dado que un proveedor esté en proceso de entrega del pedido del cliente
Cuando ocurra algún percance que imposibilite la entrega del pedido
Entonces se enviará una notificación al cliente y se marcará el pedido como "Cancelado".
EP024
US064 Contabilizar productos en el inventario Como dueño de licorería, quiero que los productos que he recibido de mi pedido se contabilicen automáticamente a mi almacén digital, para ahorrar tiempo en actualización del almacén. Escenario 1: Pedido entregado

Dado que un dueño de licorería recibe sus productos
Cuando visualice su almacén digital
Entonces los productos recibidos ya se habrán contabilizado Y el stock de dichos productos habrá aumentado.

Escenario 2: Recibo de producto nuevo

Dado que un dueño de licorería ha recibido productos
Cuando desee que se contabilice un producto nuevo (que no está en su almacén digital)
Entonces se creará el producto en su almacén digital con la información que ha colocado su proveedor.
EP024

Las historias de esta sección describen las necesidades técnicas relacionadas con la exposición y consumo de servicios del sistema mediante una API RESTful. Estas historias están orientadas a facilitar la integración con otros sistemas, automatizar procesos y permitir que los dueños de licorerías o proveedores puedan aprovechar la tecnología para conectar herramientas externas o apps móviles con sus datos.

Epic / Story ID Título Descripción Criterios de Aceptación (Gherkin) Relacionado con (Epic ID)
TS001 Endpoint para registrar nuevo usuario Como developer, necesito implementar el endpoint POST /api/auth/registro para permitir el registro de nuevos usuarios (dueños o proveedores de licorerías). Escenario 1: Registro exitoso de nuevo usuario

Dado que el payload incluye datos válidos (nombre, correo, contraseña, rol)
Cuando el cliente envía una solicitud POST al endpoint /api/auth/registro
Entonces el sistema responde con un código 201 y los datos básicos del usuario registrado

Escenario 2: Correo ya registrado

Dado que el correo enviado ya existe en la base de datos
Cuando el cliente envía la solicitud POST al endpoint /api/auth/registro
Entonces el sistema responde con un código 409 y un mensaje de error "Correo ya registrado"

Escenario 3: Datos incompletos

Dado que el payload no incluye el campo "contraseña"
Cuando el cliente envía la solicitud POST al endpoint /api/auth/registro
Entonces el sistema responde con un código 400 y un mensaje de error indicando el campo faltante
EP006
TS002 Endpoint para iniciar sesión Como developer, necesito implementar el endpoint POST /api/auth/login para que los usuarios puedan iniciar sesión de forma segura. Escenario 1: Inicio de sesión exitoso

Dado que el usuario envía correo y contraseña válidos
Cuando el sistema verifica las credenciales
Entonces responde con un código 200, un token JWT y los datos del usuario

Escenario 2: Credenciales incorrectas

Dado que el correo o contraseña no coinciden con ningún usuario
Cuando el sistema procesa la solicitud
Entonces responde con un código 401 y un mensaje de error "Credenciales inválidas"

Escenario 3: Usuario desactivado

Dado que la cuenta está deshabilitada por seguridad
Cuando el usuario intenta iniciar sesión
Entonces responde con un código 403 y un mensaje "Cuenta desactivada"
EP006
TS003 Endpoint para cambiar contraseña Como developer, necesito implementar un endpoint PUT /api/auth/cambiar-contraseña para que el usuario pueda actualizar su contraseña. Escenario 1: Cambio de contraseña exitoso

Dado que el usuario envía su contraseña actual y la nueva, ambas válidas
Cuando el sistema valida las credenciales y actualiza la contraseña
Entonces responde con un código 200 y un mensaje de éxito "Contraseña actualizada correctamente"

Escenario 2: Contraseña actual incorrecta

Dado que el usuario ingresa una contraseña actual incorrecta
Cuando el sistema intenta verificarla
Entonces responde con un código 403 y un mensaje de error "Contraseña actual incorrecta"

Escenario 3: Nueva contraseña débil

Dado que la nueva contraseña no cumple con las reglas de seguridad
Cuando el usuario intenta cambiarla
Entonces responde con un código 422 y un mensaje "La nueva contraseña no cumple los requisitos"
EP007
TS004 Endpoint para recuperar contraseña Como developer, necesito implementar el endpoint POST /api/auth/recuperar para enviar un token temporal al correo del usuario y permitirle restablecer su contraseña. Escenario 1: Solicitud de recuperación exitosa

Dado que el correo existe en la base de datos
Cuando el usuario solicita recuperación de contraseña
Entonces el sistema responde con código 200 y envía un token de recuperación al correo

Escenario 2: Correo no registrado

Dado que el correo no corresponde a ninguna cuenta
Cuando el usuario solicita recuperación
Entonces el sistema responde con código 404 y un mensaje "Correo no registrado"
EP007
TS005 Endpoint para restablecer contraseña con token Como developer, necesito implementar el endpoint POST /api/auth/restablecer para que el usuario pueda establecer una nueva contraseña usando el token enviado por correo. Escenario 1: Restablecimiento exitoso

Dado que el usuario envía un token válido y una nueva contraseña segura
Cuando el sistema valida el token
Entonces responde con código 200 y mensaje "Contraseña restablecida correctamente"

Escenario 2: Token expirado o inválido

Dado que el token enviado es incorrecto o ha expirado
Cuando el usuario intenta restablecer la contraseña
Entonces responde con código 400 y mensaje "Token inválido o expirado"

Escenario 3: Nueva contraseña no válida

Dado que el token es válido pero la nueva contraseña no cumple con los requisitos
Cuando el usuario intenta restablecerla
Entonces responde con código 422 y mensaje "Contraseña no válida"
EP007
TS006 Endpoint para registrar productos en el inventario Como developer, necesito implementar el endpoint POST /api/inventario/productos para registrar productos en el sistema de inventario. Escenario 1: Registro de producto exitoso

Dado que el payload incluye datos válidos (nombre, cantidad, tipo, fecha de vencimiento)
Cuando el usuario envía la solicitud POST al endpoint /api/inventario/productos
Entonces el sistema responde con código 201 y los datos del producto registrado

Escenario 2: Datos incompletos

Dado que el payload está incompleto (falta algún campo obligatorio)
Cuando el usuario envía la solicitud POST
Entonces el sistema responde con código 400 y un mensaje "Datos incompletos"

Escenario 3: Producto duplicado

Dado que el producto ya existe en el inventario
Cuando el usuario intenta registrarlo nuevamente
Entonces el sistema responde con código 409 y un mensaje "Producto ya registrado"
EP008
TS007 Endpoint para consultar inventario Como developer, necesito implementar el endpoint GET/api/inventario para consultar los productos existentes en el inventario. Escenario 1: Consulta exitosa de inventario

Dado que existen productos en el inventario
Cuando el cliente envía la solicitud GET al endpoint /api/inventario
Entonces el sistema responde con código 200 y una lista de productos con sus detalles

Escenario 2: Inventario vacío

Dado que no existen productos en el inventario
Cuando el cliente envía la solicitud GET
Entonces el sistema responde con código 200 y una lista vacía
EP008
TS008 Endpoint para configurar alertas de reposición Como developer, necesito implementar el endpoint POST /api/alertas/reposicion para que el usuario pueda configurar alertas de reposición para productos específicos. Escenario 1: Configuración de la alerta exitosa

Dado que el usuario envía el producto y el umbral de reposición
Cuando el sistema registra la alerta en la base de datos
Entonces el sistema responde con código 201 y un mensaje de éxito.
EP009
TS009 Endpoint para configurar alertas de vencimiento Como developer, necesito implementar el endpoint POST /api/alertas/reposicion para que el usuario pueda configurar alertas de vencimiento de productos determinados Escenario 1: Configuración de alerta de vencimiento exitosa

Dado que el usuario proporciona los datos del producto y la fecha de vencimiento
Cuando el sistema registra la alerta
Entonces el sistema responde con código 201 y un mensaje de éxito

Escenario 2: Fecha de vencimiento en el pasado

Dado que el usuario intenta configurar una alerta con una fecha de vencimiento pasada
Cuando el sistema procesa la solicitud
Entonces el sistema responde con código 400 y mensaje "La fecha de vencimiento no puede ser anterior a la fecha actual"
EP009
TS010 Endpoint para consultar la salud del inventario Como developer, necesito implementar el endpoint GET /api/salud-inventario para que los usuarios puedan ver el estado de salud del inventario (productos con bajo stock, vencidos, etc.). Escenario 1: Consulta de salud del inventario exitosa

Dado que que el inventario contiene productos con distintos estados (bajo stock, vencidos)
Cuando el usuario envía la solicitud GET al endpoint /api/salud-inventario
Entonces el sistema responde con código 200 y un resumen del estado de salud del inventario

Escenario 2: Inventario sin problemas

Dado que no hay productos con bajo stock o vencidos
Cuando el usuario envía la solicitud GET
Entonces el sistema responde con código 200 y un mensaje "Inventario en buen estado"
EP010
TS011 Endpoint para registrar una nueva guía de conservación Como developer, necesito implementar el endpoint POST /api/guides/conservacion para permitir a los usuarios registrar guías de conservación para productos. Escenario 1: Registro exitoso de guía de conservación

Dado que el usuario proporciona datos válidos para la guía
Cuando el sistema registra la guía en la base de datos
Entonces el sistema responde con código 201 y los detalles de la guía registrada

Escenario 2: Datos incompletos

Dado que la guía no contiene información suficiente (falta información del producto, condiciones)
Cuando el usuario envía la solicitud POST
Entonces el sistema responde con código 400 y un mensaje "Faltan datos necesarios"
EP011
TS012 Endpoint para generar reporte de pérdidas Como developer, necesito implementar el endpoint GET /api/reportes/perdidas para generar reportes sobre pérdidas en el inventario (producto vencido, merma, etc.). Escenario 1: Generación exitosa del reporte

Dado que el usuario tiene acceso al inventario con productos perdidos
Cuando el usuario solicita el reporte de pérdidas
Entonces el sistema responde con código 200 y los detalles de las pérdidas

Escenario 2: Sin pérdidas en el inventario

Dado que no hay pérdidas en el inventario
Cuando el usuario solicita el reporte
Entonces el sistema responde con código 200 y un mensaje "No se han encontrado pérdidas"
EP012
TS013 Endpoint para optimizar la compra de productos Como developer, necesito implementar el endpoint GET /api/compras/optimizadas para que el sistema sugiera productos a comprar basándose en el estado del inventario y las ventas anteriores. Escenario 1: Optimización de compra exitosa

Dado que el inventario está bajo en ciertos productos y las ventas pasadas sugieren una compra
Cuando el sistema genera recomendaciones de compra
Entonces el sistema responde con código 200 y una lista de productos recomendados para compra

Escenario 2: No se necesitan compras

Dado que no hay productos que necesiten reposición
Cuando el sistema procesa la solicitud
Entonces el sistema responde con código 200 y un mensaje "No se requieren compras adicionales"
EP013
TS014 Endpoint para registrar una nueva zona de almacenamiento Como developer, necesito implementar el endpoint POST /api/zonas para permitir que los usuarios registren nuevas zonas de almacenamiento. Escenario 1: Registro exitoso de zona

Dado que el usuario proporciona un nombre y descripción válidos para la zona
Cuando se envía una solicitud POST al endpoint /api/zonas
Entonces el sistema responde con código 201 y los datos de la zona registrada

Escenario 2: Datos incompletos

Dado que el usuario omite el nombre o la descripción
Cuando se realiza la solicitud
Entonces el sistema responde con código 400 y un mensaje de "Datos insuficientes"

Escenario 3: Zona duplicada

Dado que ya existe una zona con el mismo nombre
Cuando se intenta registrar la zona
Entonces el sistema responde con código 409 y un mensaje "Zona ya registrada"
EP014
TS015 Endpoint para obtener resumen del panel del usuario Como developer, necesito implementar el endpoint GET /api/panel-usuario que devuelva un resumen de información clave para el usuario. Escenario 1: Consulta exitosa del panel

Dado que el usuario está autenticado
Cuando accede al endpoint /api/panel-usuario
Entonces el sistema responde con código 200 y datos como alertas, estado de inventario y resumen de movimientos

Escenario 2: Usuario no autenticado

Dado que el usuario no está autenticado
Cuando accede al endpoint
Entonces el sistema responde con código 401 y un mensaje "No autorizado"
EP015
TS016 Endpoint para generar plan de reabastecimiento Como developer, necesito implementar el endpoint GET /api/reabastecimiento/plan para que el sistema proponga un plan de reposición basado en reglas de stock mínimo. Escenario 1: Plan generado exitosamente

Dado que existen productos por debajo del stock mínimo
Cuando el usuario solicita el plan de reabastecimiento
Entonces el sistema responde con código 200 y la lista de productos sugeridos para reponer

Escenario 2: Inventario suficiente

Dado que todos los productos tienen suficiente stock
Cuando se solicita el plan
Entonces el sistema responde con código 200 y un mensaje "No se requiere reabastecimiento"
EP016
TS017 Endpoint para registrar guía de remisión Como developer, necesito implementar el endpoint POST /api/guias/remision-interna para registrar movimientos de productos entre zonas de almacenamiento. Escenario 1: Registro exitoso de guía

Dado que se proporcionan datos válidos (producto, origen, destino, cantidad)
Cuando se envía la solicitud
Entonces el sistema responde con código 201 y los detalles de la guía registrada

Escenario 2: Cantidad inválida

Dado que la cantidad es mayor al stock disponible
Cuando se intenta registrar la guía
Entonces el sistema responde con código 400 y un mensaje "Cantidad excede el stock disponible"

Escenario 3: Zona inexistente

Dado que la zona de destino no existe
Cuando se envía la solicitud
Entonces el sistema responde con código 404 y un mensaje "Zona no encontrada"
EP017
TS018 Endpoint para actualizar perfil del usuario Como developer, necesito implementar el endpoint PUT /api/usuarios/perfil para permitir la actualización de los datos personales del usuario. Escenario 1: Actualización exitosa

Dado que el usuario envía datos válidos (nombre, correo, teléfono)
Cuando se realiza la solicitud PUT
Entonces el sistema responde con código 200 y un mensaje "Perfil actualizado correctamente"

Escenario 2: Datos inválidos

Dado que el correo tiene formato incorrecto
Cuando se intenta actualizar
Entonces el sistema responde con código 400 y un mensaje "Correo electrónico no válido"

Escenario 3: Usuario no autenticado

Dado que el usuario no está autenticado
Cuando se realiza la solicitud
Entonces el sistema responde con código 401 y mensaje "No autorizado"
EP018
TS019 Endpoint para consultar detalles del plan actual Como developer, necesito implementar el endpoint GET /api/usuarios/plan para devolver los detalles del plan activo de un usuario proveedor. Escenario 1: Consulta exitosa

Dado que el usuario proveedor tiene un plan activo
Cuando accede al endpoint
Entonces el sistema responde con código 200 y muestra nombre del plan, fecha de inicio y vencimiento

Escenario 2: Sin plan activo

Dado que el proveedor no tiene ningún plan asignado
Cuando accede al endpoint
Entonces el sistema responde con código 200 y un mensaje "Sin plan activo actualmente"
EP019
TS020 Endpoint para registrar una factura Como developer, necesito implementar el endpoint POST /api/facturas para registrar una nueva factura en el sistema. Escenario 1: Factura registrada exitosamente

Dado que el usuario envía datos válidos (número, proveedor, monto, fecha)
Cuando se registra la factura
Entonces el sistema responde con código 201 y los detalles de la factura registrada

Escenario 2: Número de factura duplicado

Dado que el número ya existe en la base de datos
Cuando se intenta registrar
Entonces el sistema responde con código 400 y un mensaje "Factura ya registrada"

Escenario 3: Datos incompletos

Dado que el campo proveedor está vacío
Cuando se realiza la solicitud
Entonces el sistema responde con código 400 y un mensaje "Datos insuficientes"
EP020
TS021 Endpoint para generar una orden de compra Como developer, necesito implementar el endpoint POST /api/compras/pedidos para generar una nueva orden de compra en el sistema. Escenario 1: Orden de compra registrada exitosamente

Dado que el usuario dueño de licorería coloca algún producto en la orden
Cuando se registre la orden de compra
Entonces el sistema responde con código 201 y los detalles de la orden registrada

Escenario 2 Orden sin productos

Dado que el usuario envía una orden sin productos
Cuando se registre la orden de compra
Entonces el sistema responde con código 400 y un mensaje que indique que no se ha podido registrar la acción.

EP023
TS022 Endpoint para visualizar el estado de los pedidos Como developer, necesito implementar el endpoint GET /api/compras/pedidos para obtener el estado actual de un pedido. Escenario 1: Retorno del estado

Dado que el usuario dueño de licorería ha registrado un nuevo pedido
Cuando desee visualizar el estado de su pedido
Entonces el sistema devolverá en formato texto el estado actual de su pedido.
EP023
TS023 Endpoint para actualizar estados de los pedidos Como developer, necesito implementar el endpoint PUT /api/compras/pedidos para actualizar los estados de los pedidos. Escenario 1: Cambio de estado exitoso

Dado que el usuario proveedor actualiza el estado de un pedido
Cuando el sistema valida la información y actualiza el estado
Entonces responde con un código 200 y un mensaje de éxito "Estado actualizado correctamente"

Escenario 2: Intento de cambiar de un estado a otro incompatible

Dado que el usuario intenta cambiar de estado de entregado a cualquier otro
Cuando el sistema intenta verificar la actualización
Entonces responde con un código 403 y un mensaje de error "No se puede modificar el estado de un pedido entregado"
EP024

3.3. Impact Mapping

En esta sección, se presentarán los mapas de impacto para cada segmento objetivo definido para el desarrollo del proyecto. El objetivo de desarrollar estos mapas es alinear los objetivos de negocio con las necesidades de los usuarios. También, se puede visualizar de manera clara qué impacto se desea generar en el comportamiento de los usuarios finales y qué entregables se deben desarrollar para alcanzar cada una de las metas descritas.

● Segmento objetivo 1: Dueños de licorerías

mapa_impacto1

Mapa de impacto del primer segmento objetivo

El mapa de impacto del primer segmento objetivo nos permitió visualizar con claridad la conexión entre los objetivos del negocio y las verdaderas necesidades del usuario final. Gracias a esta herramienta, identificamos comportamientos clave que queremos fomentar, como el monitoreo proactivo del inventario y la toma de decisiones informadas sobre reposición de productos.

● Segmento objetivo 2: Proveedores de licores

mapa_impacto2

Mapa de impacto del segundo segmento objetivo

El mapa de impacto del segundo segmento objetivo nos ayudó a entender cómo este actor tiene un rol fundamental en el cumplimiento de los objetivos comerciales. Nos permitió identificar oportunidades de mejora en su interacción con los clientes, como la necesidad de herramientas para organizar sus rutas y fortalecer la comunicación. También nos permitió extender el alcance de la solución al contemplar funcionalidades útiles para su gestión interna, como la creación de planes de reabastecimiento y guías de remisión.

3.4. Product Backlog

En esta sección, se muestra la tabla del Product Backlog priorizado del producto solución. Para ello, se utilizaron puntos de historia de usuario que son asignados a cada historia de usuario creada según su importancia para el contexto del negocio. Luego, para la estimación de puntos de historia de usuario se utilizó la escala Fibonacci (1, 2, 3, 5, 8). Se decidió utilizar Trello para la creación del product backlog. La tabla inicia con las historias de usuario más importantes, mientras que las de mnenor importancia se muestran en las últimas filas de dicha tabla.

Luego, se adjunta una imagen del product backlog diseñado originalmente en Trello y el enlace para acceder al mismo. Cabe recalcar, que dentro de cada tarjeta que contenga el código de una historia de usuario, se encuentra la descripción completa de dicha historia de usuario. Link de acceso al Product Backlog en Trello

product_backlog

Finalmente, el Product Backlog diseñado en Trello, se coloca en la tabla que se muestra a continuación:

Orden US ID Título Descripción Story Points
1 US017 Visualizar lista completa de productos en stock Como dueño de licorería, quiero ver una lista de todos mis productos en inventario, para revisar rápidamente qué tengo disponible. 8
2 US020 Detallar el estado de salida de productos del inventario Como dueño de licorería, quiero registrar el motivo por el cual un producto sale del inventario (venta, merma, consumo interno o donación), para tener un mejor control y trazabilidad del stock. 8
3 US022 Alertas por próximo vencimiento Como dueño de licorería, quiero recibir notificaciones cuando un producto esté próximo a vencer, para tomar decisiones a tiempo y evitar pérdidas. 8
4 US023 Ver indicadores de rotación de inventario Como dueño de licorería, quiero ver qué productos se mueven rápido y cuáles se están quedando, para tomar mejores decisiones de compra. 8
5 US024 Visualizar productos en riesgo de vencimiento o merma Como dueño de licorería, quiero visualizar productos que tienen riesgo de convertirse en merma por baja rotación o vencimiento próximo, para tomar acción proactiva. 8
6 US025 Crear guía de conservación por tipo de licor Como proveedor de licores, quiero registrar una guía de conservación por tipo de licor, para asegurarme de que los productos se almacenen correctamente. 8
7 US026 Consultar guía de conservación desde el inventario Como dueño de licorería, quiero consultar rápidamente las guías de conservación desde cada producto en el inventario, para asegurarme de su correcta conservación. 8
8 US033 Crear zonas de almacenamiento dentro del local Como dueño de licorería, quiero poder definir distintas zonas dentro de mi local (como "almacén principal", "zona de frío", "estantería de exhibición"), para tener mejor control sobre la ubicación de mis productos. 8
9 US039 Crear un plan de reabastecimiento Como proveedor, quiero poder crear un plan de reabastecimiento para cada licorería, para organizar mis entregas según sus necesidades. 8
10 US042 Crear guía de remisión interna Como usuario (dueño o proveedor), quiero poder generar una guía de remisión interna para registrar el traslado de productos entre ubicaciones, a fin de mantener el control del inventario. 8
11 US030 Asociar productos comprados a inventario Como dueño de licorería, quiero que los productos registrados en una factura se integren automáticamente a mi inventario, para ahorrar tiempo y evitar errores manuales. 8
12 US027 Generar reporte de pérdidas por tipo de baja Como dueño de licorería, quiero generar reportes de pérdidas clasificadas por tipo de baja (merma, consumo interno, donación), para entender mejor el destino de mis productos no vendidos. 8
13 US041 Recibir alertas de planes próximos a vencer Como proveedor, quiero recibir alertas sobre planes de reabastecimiento con fechas próximas, para no olvidar coordinar nuevas entregas. 8
14 US064 Contabilizar productos en el inventario Como dueño de licorería, quiero que los productos que he recibido de mi pedido se contabilicen automáticamente a mi almacén digital, para ahorrar tiempo en actualización del almacén. 8
15 US016 Registrar nuevo producto al inventario Como dueño de licorería, quiero poder registrar un nuevo producto indicando sus características (nombre, tipo, lote, fecha de ingreso, fecha de caducidad, cantidad, proveedor), para mantener actualizado mi inventario. 8
16 US028 Visualizar resumen económico de pérdidas Como dueño de licorería, quiero ver un resumen económico del valor monetario de las pérdidas, para conocer su impacto financiero. 8
17 US036 Visualizar el mapa general de zonas y productos Como dueño de licorería, quiero poder ver un mapa o lista general que me indique qué productos están en qué zonas, para facilitar la ubicación de los mismos. 8
18 US029 Registrar factura de compra manualmente Como dueño de licorería, quiero registrar los detalles de una factura de compra manualmente, para llevar un control de mis adquisiciones. 8
19 US056 Creación de catálogo Como proveedor, quiero crear un catálogo de productos relacionados a licorerías, para que mis clientes o posibles nuevos clientes tengan en cuenta los productos que les ofrezco. 8
20 US038 Ver alertas destacadas en el panel Como usuario, quiero ver alertas destacadas en el panel (como vencimientos o pedidos retrasados), para poder tomar acciones inmediatas. 5
21 US034 Asignar productos a una zona específica Como dueño de licorería, quiero poder asignar cada producto a una zona de almacenamiento, para saber exactamente dónde está ubicado. 5
22 TS006 Endpoint para registrar productos en el inventario Como developer, necesito implementar el endpoint POST /api/inventario/productos para registrar productos en el sistema de inventario. 5
23 TS014 Endpoint para registrar una nueva zona de almacenamiento Como developer, necesito implementar el endpoint POST /api/zonas para permitir que los usuarios registren nuevas zonas de almacenamiento. 5
24 TS011 Endpoint para registrar una nueva guía de conservación Como developer, necesito implementar el endpoint POST /api/guides/conservacion para permitir a los usuarios registrar guías de conservación para productos. 5
25 TS007 Endpoint para consultar inventario Como developer, quiero implementar el endpoint GET/api/inventario para consultar los productos existentes en el inventario. 5
26 TS010 Endpoint para consultar la salud del inventario Como developer, necesito implementar el endpoint GET /api/salud-inventario para que los usuarios puedan ver el estado de salud del inventario (productos con bajo stock, vencidos, etc.). 5
27 TS012 Endpoint para generar reporte de pérdidas Como developer, necesito implementar el endpoint GET /api/reportes/perdidas para generar reportes sobre pérdidas en el inventario (producto vencido, merma, etc.). 5
28 TS013 Endpoint para optimizar la compra de productos Como developer, necesito implementar el endpoint GET /api/compras/optimizadas para que el sistema sugiera productos a comprar basándose en el estado del inventario y las ventas anteriores. 5
29 TS016 Endpoint para generar plan de reabastecimiento Como developer, necesito implementar el endpoint GET /api/reabastecimiento/plan para que el sistema proponga un plan de reposición basado en reglas de stock mínimo. 5
30 US059 Generar orden de compra Como dueño de licorería, quiero enviar una orden de compra a mi proveedor para reabastecerme de productos en mi tienda. 5
31 US063 Actualizar estado de la orden de venta Como proveedor, quiero actualizar el estado del pedido de mi cliente, para mantenerlo informado. 5
32 US062 Coordinar fecha de entrega Como proveedor, quiero coordinar una fecha de envío de la orden generada por mi cliente, para tener organizados todos mis envíos. 5
33 US061 Notificaciones sobre estado de la orden de compra Como dueño de licorería, quiero recibir notificaciones acerca del estado de mi orden de compra, para estar enterado y tener un seguimiento de la orden generada. 5
34 US060 Visualizar estado de la orden de compra Como dueño de licorería, quiero ver en qué estado se encuentra mi orden de compra creada, para saber si fue aceptada o rechazada. 5
35 TS017 Endpoint para registrar guía de remisión Como developer, necesito implementar el endpoint POST /api/guias/remision-interna para registrar movimientos de productos entre zonas de almacenamiento. 5
36 TS015 Endpoint para obtener resumen del panel del usuario Como developer, necesito implementar el endpoint GET /api/panel-usuario que devuelva un resumen de información clave para el usuario. 5
37 US051 Registrar una factura de venta manualmente Como proveedor o dueño de licorería, quiero registrar una factura manualmente, para llevar un control de mis ventas realizadas fuera de la plataforma. 5
38 US031 Registro de pedidos realizados a proveedores Como dueño de licorería, quiero tener un historial de los pedidos realizados a cada proveedor, para hacer seguimiento de mis compras y evaluar su desempeño. 5
39 US021 Configurar alertas de reposición de productos Como dueño de licorería, quiero configurar alertas para que el sistema me notifique cuando un producto esté por debajo del stock mínimo, para evitar quiebres de stock. 5
40 US037 Visualizar resumen general en el panel de control Como usuario, quiero ver un resumen con los datos clave apenas ingreso al sistema, para tener una visión general rápida de mi actividad. 5
41 US043 Consultar historial de guías emitidas Como usuario, quiero consultar todas las guías de remisión internas que he generado, para mantener un registro de movimientos logísticos. 5
42 TS008 Endpoint para configurar alertas de reposición Como developer, necesito implementar el endpoint POST /api/alertas/reposicion para que el usuario pueda configurar alertas de reposición para productos específicos. 5
43 TS009 Endpoint para configurar alertas de vencimiento Como developer, necesito implementar el endpoint POST /apo/alertas/reposicion para que el usuario pueda configurar alertas de vencimiento de productos determinados 5
44 TS020 Endpoint para registrar una factura Como developer, necesito implementar el endpoint POST /api/facturas para registrar una nueva factura en el sistema. 5
45 TS021 Endpoint para generar una orden de compra Como developer, necesito implementar el endpoint POST /api/compras/pedidos para generar una nueva orden de compra en el sistema. 5
46 TS022 Endpoint para visualizar el estado de los pedidos Como developer, necesito implementar el endpoint GET /api/compras/pedidos para obtener el estado actual de un pedido. 5
47 TS023 Endpoint para actualizar estados de los pedidos Como developer, necesito implementar el endpoint PUT /api/compras/pedidos para actualizar los estados de los pedidos. 5
48 US058 Eliminación de producto del catálogo Como proveedor, quiero eliminar productos del catálogo, para mostrar los productos con stock disponible para la venta a mis clientes. 3
49 US057 Agregar producto al catálogo Como proveedor, quiero añadir productos al catálogo creado, para detallar información sobre los productos que ofrezo a los clientes. 3
50 US018 Editar un producto registrado Como dueño de licorería, quiero modificar la información de un producto registrado, para corregir errores o actualizar su estado. 3
51 US053 Aplicar un descuento a un producto Como proveedor, deseo crear y aplicar descuentos a productos de mi catálogo/inventario para llamar la atención de los clientes. 3
52 US055 Modificar descuento Como proveedor, deseo modificar información de un descuento creado previamente, para mostrar información actualizada de la promoción a mis clientes. 3
53 US054 Eliminar promoción Como proveedor, deseo eliminar una promoción creada o aplicada, para indicar que el o los productos ya no poseen un descuento activo. 3
54 US019 Eliminar un producto del inventario Como dueño de licorería, quiero poder eliminar un producto, para mantener mi inventario limpio y libre de registros innecesarios. 3
55 US032 Visualizar historial de facturación de compras Como dueño de licorería, quiero consultar el historial de facturación de compras, para revisar cuánto he comprado y a qué proveedores. 3
56 US044 Cambiar estado de una guía a entregado Como usuario, quiero poder cambiar el estado de una guía a "entregado" una vez que el producto ha llegado al destino, para mantener un registro actualizado. 3
57 US052 Consultar historial de facturación Como proveedor o dueño de licorería, quiero consultar el historial de facturación, para revisar mis transacciones anteriores. 3
58 US040 Editar plan de reabastecimiento existente Como proveedor, quiero poder modificar un plan de reabastecimiento ya creado, para ajustarlo a nuevas necesidades del cliente. 3
59 US035 Editar o eliminar una zona de almacenamiento Como dueño de licorería, quiero poder editar o eliminar una zona si ya no la uso o si necesito actualizar su información. 3
60 US001 Ver propuesta de valor clara Como visitante, quiero ver en la sección principal una propuesta clara que explique cómo StockSip optimiza mi inventario, para entender su utilidad de forma inmediata. 3
61 US002 Acceder a explicación detallada sobre el uso de la aplicación Como visitante, quiero entender detalladamente cómo StockSip me ayuda a resolver problemas de inventario, para tomar una decisión informada sobre su uso. 3
62 US003 Ver beneficios para licorerías Como dueño de licorería, quiero conocer beneficios específicos como reducción de pérdidas o gestión de stock, para saber cómo StockSip puede ayudarme. 3
63 US004 Ver beneficios para proveedores Como proveedor, quiero ver cómo StockSip me ayudaría a prever demanda y optimizar entregas, para mejorar mi eficiencia operativa. 3
64 US005 Explorar la aplicación como visitante Como visitante, quiero obtener una visión general de la aplicación StockSip para entender su propósito y cómo puede ser útil para los usuarios. 3
65 US006 Leer testimonios de clientes Como visitante, quiero conocer experiencias de usuarios reales, para confiar en StockSip como una solución probada. 3
66 US007 Comparar planes gratis y premium Como visitante, quiero ver una tabla comparativa, para entender las diferencias entre el plan gratuito y el premium. 3
67 US008 Conocer el precio y condiciones Como visitante, quiero conocer el costo del plan premium y las condiciones de uso, para decidir si es una opción viable. 3
68 US049 Visualizar beneficios del Plan Premium Como proveedor, quiero poder ver los beneficios del Plan Premium desde mi cuenta, para saber qué funcionalidades tengo disponibles. 2
69 US048 Ver tipo de cuenta y plan actual Como usuario, quiero ver el tipo de cuenta que tengo y si estoy en un plan premium o gratuito, para saber qué funcionalidades tengo disponibles. 2
70 US050 Ver fecha de vencimiento del Plan Premium Como proveedor con plan premium, quiero ver hasta cuándo está activo mi plan, para planificar la renovación con anticipación. 2
71 TS019 Endpoint para consultar detalles del plan actual Como developer, necesito implementar el endpoint GET /api/usuarios/plan para devolver los detalles del plan activo de un usuario proveedor o dueño de licorería. 2
72 US046 Subir y actualizar foto de perfil Como usuario, quiero subir o cambiar mi foto de perfil, para personalizar mi cuenta dentro del sistema. 2
73 TS018 Endpoint para actualizar perfil del usuario Como developer, necesito implementar el endpoint PUT /api/usuarios/perfil para permitir la actualización de los datos personales del usuario. 2
74 US045 Editar datos personales del perfil Como usuario, quiero poder editar mis datos personales como nombre, teléfono, correo o información sobre mi local de venta, para mantener mi información actualizada. 2
75 US009 Registro de usuario Como nuevo usuario, quiero registrarme en la plataforma, para poder empezar a usar StockSip según mi rol. 1
76 US010 Selección de rol durante registro Como usuario nuevo, quiero seleccionar si soy dueño de licorería o proveedor, para crear una cuenta acorde a mi rol en el contexto. 1
77 US013 Elegir una contraseña segura Como usuario, quiero crear una cuenta con una contraseña de alta seguridad para que la cuenta no sufra robos por usar una contraseña sencilla. 1
78 US011 Inicio de sesión de usuario registrado Como usuario registrado, quiero iniciar sesión usando mi correo y contraseña, para acceder a mi cuenta. 1
79 US012 Recuperar contraseña mediante correo electrónico Como usuario, quiero recuperar mi contraseña a través de un enlace enviado a mi correo electrónico, para poder acceder a mi cuenta si la olvido. 1
80 US014 Cambiar contraseña desde configuración Como usuario, quiero cambiar mi contraseña desde la configuración de cuenta, para mantener la seguridad de mi información. 1
81 US015 Cerrar sesión manualmente Como usuario, quiero poder cerrar sesión desde cualquier dispositivo, para asegurar mi cuenta si la dejo abierta por error. 1
82 US047 Cambiar contraseña desde el perfil Como usuario, quiero cambiar mi contraseña desde el perfil, para asegurar mi cuenta si considero que está en riesgo. 1
83 TS001 Endpoint para registrar nuevo usuario Como developer, necesito implementar el endpoint POST /api/auth/registro para permitir el registro de nuevos usuarios (dueños o proveedores de licorerías). 1
84 TS002 Endpoint para iniciar sesión Como developer, quiero implementar el endpoint POST /api/auth/login para que los usuarios puedan iniciar sesión de forma segura. 1
85 TS003 Endpoint para cambiar contraseña Como developer, necesito implementar un endpoint PUT /api/auth/cambiar-contraseña para que el usuario pueda actualizar su contraseña. 1
86 TS004 Endpoint para recuperar contraseña Como developer, necesito implementar el endpoint POST /api/auth/recuperar para enviar un token temporal al correo del usuario y permitirle restablecer su contraseña. 1
87 TS005 Endpoint para restablecer contraseña con token Como developer, necesito implementar el endpoint POST /api/auth/restablecer para que el usuario pueda establecer una nueva contraseña usando el token enviado por correo. 1