miinventario-v2/docs/00-vision-general/REQUERIMIENTOS-FUNCIONALES.md
rckrdmrd 1a53b5c4d3 [MIINVENTARIO] feat: Initial commit - Sistema de inventario con análisis de video IA
- Backend NestJS con módulos de autenticación, inventario, créditos
- Frontend React con dashboard y componentes UI
- Base de datos PostgreSQL con migraciones
- Tests E2E configurados
- Configuración de Docker y deployment

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-13 02:25:48 -06:00

9.9 KiB

MiInventario - Requerimientos Funcionales


id: RF-MII-001 type: Requirements status: Published version: "1.0.0" created_date: 2026-01-10 updated_date: 2026-01-10 simco_version: "4.0.0" total_requirements: 52 implemented: 0

Metadata

Campo Valor
ID RF-MII-001
Tipo Requirements
Total RF 52
Implementados 0
Version 1.0.0

Indice de Requerimientos

Seccion RF Descripcion Epica
5.1 FR-001 a FR-004 Autenticacion y cuenta MII-002
5.2 FR-010 a FR-011 Gestion de tiendas MII-003
5.3 FR-020 a FR-022 Captura de video MII-004
5.4 FR-030 a FR-033 Envio y procesamiento MII-004, MII-005
5.5 FR-040 a FR-043 Reconocimiento IA MII-005
5.6 FR-050 a FR-052 Reportes inventario MII-006
5.7 FR-060 a FR-063 Retroalimentacion MII-007
5.8 FR-070 a FR-071 Validacion aleatoria MII-008
5.9 FR-080 a FR-084 Modelo de creditos MII-009
5.10 FR-090 a FR-092 Paquetes recarga MII-010
5.11 FR-100 a FR-105 Pagos MII-011, MII-012, MII-013
5.12 FR-110 a FR-116 Referidos MII-014
5.13 FR-120 a FR-124 Administracion MII-015

5.1 Autenticacion y Cuenta

FR-001: Registro

Prioridad: P0 | Estado: Pendiente | Epica: MII-002

Alta con telefono o correo electronico, OTP recomendado para Mexico.

Criterios de Aceptacion:

DADO que soy un usuario nuevo
CUANDO ingreso mi telefono/email y verifico con OTP
ENTONCES mi cuenta se crea exitosamente
Y puedo acceder a la aplicacion

FR-002: Inicio de Sesion

Prioridad: P0 | Estado: Pendiente | Epica: MII-002

Persistencia segura con refresh tokens.

FR-003: Perfil

Prioridad: P1 | Estado: Pendiente | Epica: MII-002

Nombre, negocio, ubicacion opcional, giro.

FR-004: Consentimientos

Prioridad: P0 | Estado: Pendiente | Epica: MII-002

Terminos, privacidad y consentimiento explicito para usar material (video/fotos) con fines de mejora del modelo (opt-in/opt-out granular).


5.2 Gestion de Negocio/Tienda

FR-010: Multi-Tiendas

Prioridad: P0 | Estado: Pendiente | Epica: MII-003

Un usuario puede tener 1..N tiendas (multi-tenant ligero).

FR-011: Usuarios por Tienda

Prioridad: P2 | Estado: Pendiente | Epica: MII-003

Opcional MVP: Dueno puede invitar operadores con roles (Owner/Operator).


5.3 Captura de Video y Guia UX

FR-020: Captura Guiada

Prioridad: P0 | Estado: Pendiente | Epica: MII-004

  • Duracion sugerida 30-60s
  • Indicaciones: distancia, iluminacion, movimiento lateral lento
  • Validacion local: resolucion minima, estabilidad, luz

FR-021: Preprocesado Movil

Prioridad: P1 | Estado: Pendiente | Epica: MII-004

Compresion/bitrate, estabilizacion opcional, extraccion de keyframes.

FR-022: Evidencia Adicional

Prioridad: P1 | Estado: Pendiente | Epica: MII-004

Captura de foto close-up cuando el sistema marque duda.


5.4 Envio y Procesamiento

FR-030: Carga de Video

Prioridad: P0 | Estado: Pendiente | Epica: MII-004

Upload resiliente (reintentos, resume).

FR-031: Job Asincrono

Prioridad: P0 | Estado: Pendiente | Epica: MII-005

Analisis como tarea con estados: PENDING / PROCESSING / DONE / FAILED.

FR-032: Notificacion

Prioridad: P1 | Estado: Pendiente | Epica: MII-005

Push o polling para "resultado listo".

FR-033: Almacenamiento

Prioridad: P1 | Estado: Pendiente | Epica: MII-005

Guardar video y artefactos por ventana configurable (7-30 dias) y borrado automatico.


5.5 Reconocimiento y Conteo (IA)

FR-040: Deteccion

Prioridad: P0 | Estado: Pendiente | Epica: MII-005

Detectar instancias por frame con bounding boxes/segmentacion.

FR-041: Identificacion SKU

Prioridad: P0 | Estado: Pendiente | Epica: MII-005

  • Opcion A: detector multiclase (YOLO/derivados)
  • Opcion B: pipeline 2 etapas (deteccion + embeddings)

FR-042: Consolidacion Multi-frame

Prioridad: P0 | Estado: Pendiente | Epica: MII-005

Evitar doble conteo con tracking/matching espacial-temporal.

FR-043: Umbrales de Confianza

Prioridad: P0 | Estado: Pendiente | Epica: MII-005

  • Si conf < threshold: marcar como "Duda"
  • Si no hay match: "Desconocido"

5.6 Reporte de Inventario

FR-050: Resultado por Sesion

Prioridad: P0 | Estado: Pendiente | Epica: MII-006

Lista por SKU: nombre, presentacion, cantidad, confianza, evidencias.

FR-051: Exportacion

Prioridad: P2 | Estado: Pendiente | Epica: MII-006

PDF/CSV y/o compartir via WhatsApp.

FR-052: Historial

Prioridad: P1 | Estado: Pendiente | Epica: MII-006

Navegar sesiones por fecha, tienda, totales y variaciones.


5.7 Retroalimentacion

FR-060: Correccion de SKU

Prioridad: P1 | Estado: Pendiente | Epica: MII-007

Usuario puede cambiar producto identificado.

FR-061: Correccion de Cantidad

Prioridad: P1 | Estado: Pendiente | Epica: MII-007

Ajuste manual del conteo.

FR-062: Etiquetado de Desconocidos

Prioridad: P1 | Estado: Pendiente | Epica: MII-007

Subir foto close-up, seleccionar marca/presentacion.

FR-063: Registro de Ground Truth

Prioridad: P0 | Estado: Pendiente | Epica: MII-007

Toda correccion guardada como evento trazable.


5.8 Validacion Aleatoria

FR-070: Micro-auditorias

Prioridad: P1 | Estado: Pendiente | Epica: MII-008

En X% de sesiones, solicitar confirmacion de 1-3 items.

FR-071: Reglas de Activacion

Prioridad: P1 | Estado: Pendiente | Epica: MII-008

Mayor frecuencia cuando: baja calidad, baja confianza, usuario nuevo.


5.9 Modelo de Creditos/Tokens

FR-080: Cartera de Creditos

Prioridad: P0 | Estado: Pendiente | Epica: MII-009

Saldo por usuario/tienda.

FR-081: Consumo

Prioridad: P0 | Estado: Pendiente | Epica: MII-009

Cada sesion consume creditos segun regla configurable.

FR-082: Motor de Costos (COGS IA)

Prioridad: P0 | Estado: Pendiente | Epica: MII-009

Registrar por sesion: proveedor, frames, costo.

FR-083: Regla de Precio

Prioridad: P0 | Estado: Pendiente | Epica: MII-009

Precio usuario = 2 x COGS IA.

FR-084: Transparencia

Prioridad: P1 | Estado: Pendiente | Epica: MII-009

Mostrar creditos consumidos y equivalencia en MXN.


5.10 Paquetes de Recarga

FR-090: Paquetes Predefinidos

Prioridad: P0 | Estado: Pendiente | Epica: MII-010

MXN $50 / $100 / $200 / $500.

FR-091: Equivalencia Dinamica

Prioridad: P0 | Estado: Pendiente | Epica: MII-010

Calculada por motor de costos.

FR-092: Promociones

Prioridad: P2 | Estado: Pendiente | Epica: MII-010

Bonos temporales (+10% creditos).


5.11 Pagos

FR-100: Tarjeta con Stripe

Prioridad: P0 | Estado: Pendiente | Epica: MII-011

Pago inmediato, PCI delegado.

FR-101: Efectivo en OXXO

Prioridad: P0 | Estado: Pendiente | Epica: MII-012

Generacion de voucher, confirmacion asincrona.

FR-102: Efectivo en 7-Eleven

Prioridad: P1 | Estado: Pendiente | Epica: MII-013

Integracion con agregador.

FR-103: Confirmacion de Pago

Prioridad: P0 | Estado: Pendiente | Epica: MII-011/12/13

Webhooks para acreditar automaticamente.

FR-104: Reconciliacion

Prioridad: P0 | Estado: Pendiente | Epica: MII-011/12/13

Estados: CREATED / PENDING / PAID / EXPIRED / CANCELED.

FR-105: Expiracion de Referencia

Prioridad: P1 | Estado: Pendiente | Epica: MII-012/13

Configurable (24-72h).


5.12 Referidos Multinivel

FR-110: Codigo de Referido

Prioridad: P0 | Estado: Pendiente | Epica: MII-014

Cada usuario tiene codigo unico.

FR-111: Registro Atribuido

Prioridad: P0 | Estado: Pendiente | Epica: MII-014

Nuevo usuario con referido crea relacion.

FR-112: Condicion de Recompensa

Prioridad: P0 | Estado: Pendiente | Epica: MII-014

Referido realiza compra + primer inventario.

FR-113: Recompensa Break-even

Prioridad: P0 | Estado: Pendiente | Epica: MII-014

1 credito por referido activado.

FR-114: Multinivel Configurable

Prioridad: P2 | Estado: Pendiente | Epica: MII-014

Parametros: niveles, porcentajes, limites.

FR-115: Anti-fraude

Prioridad: P0 | Estado: Pendiente | Epica: MII-014

Deteccion duplicados, topes, holds.

FR-116: Panel de Referidos

Prioridad: P1 | Estado: Pendiente | Epica: MII-014

Ver invitaciones, referidos, creditos ganados.


5.13 Administracion SaaS

FR-120: Configuracion de Costos

Prioridad: P1 | Estado: Pendiente | Epica: MII-015

Gestionar proveedores IA y costos.

FR-121: Gestion de Paquetes

Prioridad: P1 | Estado: Pendiente | Epica: MII-015

Montos, bonos, equivalencias.

FR-122: Gestion de Referidos

Prioridad: P2 | Estado: Pendiente | Epica: MII-015

Niveles, rewards, topes.

FR-123: Revision de Productos

Prioridad: P2 | Estado: Pendiente | Epica: MII-015

Moderar altas de nuevos SKUs.

FR-124: Metricas

Prioridad: P1 | Estado: Pendiente | Epica: MII-015

Consumo, COGS, margen, tasa de error.


Resumen

Categoria Cantidad Cubiertos
Autenticacion 4 100%
Tiendas 2 100%
Video 3 100%
Procesamiento 4 100%
IA 4 100%
Reportes 3 100%
Retroalimentacion 4 100%
Validacion 2 100%
Creditos 5 100%
Paquetes 3 100%
Pagos 6 100%
Referidos 7 100%
Admin 5 100%
TOTAL 52 100%

Referencias


Ultima Actualizacion: 2026-01-10