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.
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
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
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.
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 |
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 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 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.
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
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 |




