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

401 lines
9.9 KiB
Markdown

# 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:**
```gherkin
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
- [Documento Original](./REQUERIMIENTOS-ORIGINALES.md)
- [Vision del Proyecto](./VISION-PROYECTO.md)
- [Epicas](../01-epicas/_MAP.md)
---
**Ultima Actualizacion:** 2026-01-10