michangarrito/backups/docs-backup-2026-01-10/docs/02-especificaciones/PLAN-DESARROLLO.md
rckrdmrd 928eb795e6 [SIMCO-V38] feat: Actualizar a SIMCO v3.8.0 + cambios apps
- HERENCIA-SIMCO.md actualizado con directivas v3.7 y v3.8
- Cambios en backend y frontend

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-10 08:53:05 -06:00

18 KiB

MiChangarrito - Plan de Desarrollo

Estrategia General

Base de Codigo

  • Reutilizar: POS-Micro como base (80% del backend)
  • Extender: Schema de BD con nuevas tablas
  • Adaptar: Trading-Platform LLM patterns a TypeScript
  • Nuevo: WhatsApp Service, MCP Server, Mobile App

Timeline Estimado

  • MVP Fase 1: 8-10 semanas
  • Fase 2 Inteligencia: 4-6 semanas
  • Fase 3 Asistente IA: 6-8 semanas
  • Total MVP Completo: 18-24 semanas (~5-6 meses)

FASE 1: MVP CORE

MCH-001: Infraestructura Base

Duracion estimada: 1-2 semanas Prioridad: P0 Dependencias: Ninguna

Tareas Backend

  • Copiar estructura de POS-Micro a michangarrito/apps/backend
  • Actualizar package.json con nombre y dependencias
  • Configurar TypeORM para PostgreSQL 5432 (instancia compartida workspace)
  • Configurar Redis 6379/DB8 (instancia compartida workspace)
  • Implementar health checks
  • Configurar Swagger/OpenAPI
  • Setup Docker Compose (db, redis, mailhog)
  • Configurar ESLint + Prettier

Tareas Database

  • Crear script de inicializacion (database/init/)
  • Implementar schema public (tenants, tenant_configs)
  • Implementar schema auth (users, sessions, otp_codes)
  • Implementar RLS policies basicas
  • Crear funciones utilitarias (generate_ticket_number, update_updated_at)
  • Seeds de datos de prueba

Tareas DevOps

  • Crear .env.example completo
  • Documentar proceso de setup
  • Configurar scripts npm (dev, build, test, migration)

Entregables

  • Backend NestJS corriendo en puerto 3141
  • Base de datos con schemas public y auth
  • Docker Compose funcional
  • Documentacion de setup

MCH-002: Autenticacion

Duracion estimada: 1 semana Prioridad: P0 Dependencias: MCH-001

Tareas Backend

  • Adaptar AuthModule de POS-Micro
  • Implementar registro de tenant + usuario owner
  • Implementar login con OTP (SMS/WhatsApp)
  • Implementar PIN de acceso rapido
  • Configurar JWT con refresh tokens
  • Implementar biometrico (preparar endpoints)
  • Guards para roles (owner, employee)
  • Middleware de tenant isolation

Tareas Database

  • Verificar tablas auth.users, auth.sessions, auth.otp_codes
  • Indices para busqueda por telefono

Integraciones

  • Servicio de envio OTP (placeholder, luego WhatsApp)

Entregables

  • Endpoints: POST /auth/register, POST /auth/login, POST /auth/verify-otp
  • Endpoints: POST /auth/set-pin, POST /auth/login-pin
  • Endpoints: POST /auth/refresh, POST /auth/logout
  • Guards funcionando

MCH-003: Catalogo de Productos

Duracion estimada: 1 semana Prioridad: P0 Dependencias: MCH-002

Tareas Backend

  • Copiar ProductsModule de POS-Micro
  • Copiar CategoriesModule de POS-Micro
  • Adaptar DTOs para MiChangarrito
  • Implementar busqueda por nombre (full-text)
  • Implementar busqueda por codigo de barras
  • Endpoint de importacion masiva
  • Endpoint de templates de proveedores

Tareas Database

  • Implementar schema catalog
  • Tabla catalog.categories
  • Tabla catalog.products
  • Tabla catalog.product_templates
  • Seeds de templates (Bimbo, Coca-Cola, Sabritas)

Entregables

  • CRUD completo de categorias
  • CRUD completo de productos
  • Busqueda y filtrado
  • Templates de proveedores cargados

MCH-004: Punto de Venta Basico

Duracion estimada: 1.5 semanas Prioridad: P0 Dependencias: MCH-003

Tareas Backend

  • Copiar SalesModule de POS-Micro
  • Adaptar para multiples metodos de pago
  • Implementar generacion de ticket
  • Implementar corte de caja
  • Calculos de totales, impuestos, cambio
  • Cancelacion de ventas

Tareas Database

  • Implementar schema sales
  • Tabla sales.sales
  • Tabla sales.sale_items
  • Tabla sales.payments
  • Tabla sales.daily_closures

Tareas Frontend Web

  • Inicializar proyecto React + Vite en apps/web
  • Configurar TailwindCSS
  • Copiar componentes base de POS-Micro frontend
  • Adaptar POSPage
  • Adaptar CartPanel
  • Adaptar CheckoutModal
  • Implementar login screen
  • Implementar dashboard basico

Entregables

  • Registro de ventas completo
  • Corte de caja funcional
  • UI web basica de POS

MCH-005: Integraciones de Pago

Duracion estimada: 2 semanas Prioridad: P0 Dependencias: MCH-004

Tareas Backend - Efectivo

  • Registro de pago en efectivo
  • Calculo de cambio
  • Validacion de montos

Tareas Backend - Stripe

  • Configurar SDK de Stripe
  • Crear PaymentsModule para suscripciones
  • Implementar creacion de customer
  • Implementar webhook handler
  • Endpoint para pago con OXXO

Tareas Backend - Mercado Pago (Basico)

  • Configurar API de Mercado Pago
  • Implementar creacion de payment intent
  • Implementar webhook handler
  • Manejo de estados de pago

Tareas Database

  • Completar tabla sales.payments con todos los campos
  • Indices para referencias externas

Entregables

  • Pago en efectivo funcionando
  • Stripe configurado (suscripciones preparadas)
  • Mercado Pago basico funcionando

FASE 2: INTELIGENCIA

MCH-006: Onboarding Inteligente

Duracion estimada: 1.5 semanas Prioridad: P1 Dependencias: MCH-002, MCH-003

Tareas Backend

  • Crear OnboardingModule
  • Flujo de registro guiado
  • Procesamiento de imagenes (OCR)
  • Procesamiento de audios (transcripcion)
  • Seleccion de templates por giro
  • Estado de onboarding por tenant

Integraciones

  • Google Cloud Vision para OCR
  • OpenAI Whisper para audio

Entregables

  • Flujo de onboarding paso a paso
  • Carga de productos desde fotos
  • Carga de productos desde audio

MCH-007: Templates y Catalogos

Duracion estimada: 1 semana Prioridad: P1 Dependencias: MCH-003

Tareas Backend

  • CRUD de templates administrativo
  • Endpoint de busqueda de templates
  • Importacion de template a tenant
  • Precios sugeridos por region

Tareas Database

  • Ampliar catalog.product_templates
  • Seeds extensivos de proveedores

Entregables

  • Catalogo de 500+ productos template
  • Busqueda por proveedor/categoria
  • Importacion one-click

MCH-008: Sistema de Fiados

Duracion estimada: 1.5 semanas Prioridad: P1 Dependencias: MCH-004

Tareas Backend

  • Crear CustomersModule
  • Crear FiadosModule
  • CRUD de clientes
  • Registro de fiado al vender
  • Abonos a fiados
  • Recordatorios automaticos
  • Reporte de fiados pendientes

Tareas Database

  • Implementar schema customers
  • Tabla customers.customers
  • Tabla customers.fiados
  • Tabla customers.fiado_payments
  • Trigger para balance de cliente

Entregables

  • Gestion completa de clientes
  • Sistema de fiados funcional
  • Recordatorios configurables

MCH-009: Prediccion de Inventario

Duracion estimada: 1 semana Prioridad: P1 Dependencias: MCH-004

Tareas Backend

  • Crear InventoryModule
  • Movimientos de inventario automaticos (ventas)
  • Registro de compras/entradas
  • Alertas de stock bajo
  • Prediccion basica (promedio movil)
  • Sugerencias de resurtido

Tareas Database

  • Implementar schema inventory
  • Tabla inventory.inventory_movements
  • Tabla inventory.stock_alerts

Entregables

  • Control de inventario automatico
  • Alertas de stock bajo
  • Sugerencias de compra basicas

FASE 3: ASISTENTE IA

MCH-010: MCP Server

Duracion estimada: 2 semanas Prioridad: P0 Dependencias: MCH-004, MCH-008, MCH-009

Tareas MCP Server

  • Inicializar proyecto en apps/mcp-server
  • Configurar MCP SDK TypeScript
  • Implementar transporte stdio
  • Implementar tools basicos:
    • buscar_producto
    • registrar_venta
    • obtener_ventas
    • consultar_stock
    • registrar_fiado
    • obtener_fiados
    • generar_reporte_ventas
  • Implementar autenticacion por tenant
  • Implementar rate limiting
  • Logging de tool calls

Tareas Backend

  • Cliente HTTP para MCP Server
  • Tracking de uso de tokens

Entregables

  • MCP Server corriendo en puerto 3142
  • 10+ tools funcionales
  • Documentacion de tools

MCH-011: WhatsApp Service

Duracion estimada: 2 semanas Prioridad: P0 Dependencias: MCH-002

Tareas WhatsApp Service

  • Inicializar proyecto NestJS en apps/whatsapp-service
  • Configurar Meta Cloud API
  • Implementar verificacion de webhook
  • Implementar recepcion de mensajes
  • Implementar envio de mensajes (texto, template, botones)
  • Implementar envio de multimedia
  • Deteccion de tipo de usuario (owner vs customer)
  • Persistencia de conversaciones

Tareas Database

  • Implementar schema messaging
  • Tabla messaging.conversations
  • Tabla messaging.messages
  • Tabla messaging.notifications

Integraciones

  • Meta WhatsApp Cloud API

Entregables

  • WhatsApp Service corriendo en puerto 3143
  • Webhook funcional
  • Envio/recepcion de mensajes
  • Deteccion de roles

MCH-012: Chat LLM Dueno

Duracion estimada: 1.5 semanas Prioridad: P1 Dependencias: MCH-010, MCH-011

Tareas Backend

  • Crear LLMModule
  • Cliente agnostico de LLM (OpenRouter/OpenAI/Claude)
  • System prompts para dueno
  • Integracion con MCP tools
  • Contexto de conversacion
  • Tracking de tokens

Tareas WhatsApp

  • Flujo de mensaje de dueno -> LLM -> respuesta
  • Manejo de tool calls
  • Respuestas con formato amigable

Entregables

  • Dueno puede consultar via WhatsApp:
    • "Cuanto vendi hoy?"
    • "Que me falta por resurtir?"
    • "Registra una venta de 2 cocas"

MCH-013: Chat LLM Cliente

Duracion estimada: 1 semana Prioridad: P1 Dependencias: MCH-012

Tareas Backend

  • System prompts para cliente
  • Tools limitados para cliente
  • Deteccion de intencion (consulta, pedido, precio)

Tareas WhatsApp

  • Flujo de mensaje cliente -> LLM -> respuesta
  • Notificacion a dueno de pedidos

Entregables

  • Cliente puede consultar via WhatsApp:
    • "Tienen refrescos?"
    • "A como el kilo de tortilla?"
    • "Quiero pedir 3 tacos para llevar"

FASE 4: PEDIDOS Y CLIENTES

MCH-014: Gestion de Clientes

Duracion estimada: 1 semana Prioridad: P1 Dependencias: MCH-008

Tareas Backend

  • Extender CustomersModule
  • Historial de compras por cliente
  • Productos frecuentes
  • Comunicacion directa por WhatsApp

Tareas Frontend

  • Pantalla de clientes
  • Detalle de cliente
  • Historial de compras

Entregables

  • Gestion completa de clientes en web
  • Historial y estadisticas

MCH-015: Pedidos via WhatsApp

Duracion estimada: 1.5 semanas Prioridad: P1 Dependencias: MCH-013

Tareas Backend

  • Crear OrdersModule
  • Recepcion de pedidos desde LLM
  • Estados de pedido
  • Notificaciones push de nuevo pedido

Tareas Database

  • Implementar schema orders
  • Tabla orders.orders
  • Tabla orders.order_items

Tareas Frontend

  • Vista de pedidos pendientes
  • Aceptar/rechazar pedido
  • Cobrar pedido

Entregables

  • Flujo completo de pedidos
  • Notificaciones en tiempo real

MCH-016: Entregas a Domicilio

Duracion estimada: 1 semana Prioridad: P2 Dependencias: MCH-015

Tareas Backend

  • Configuracion de zonas de entrega
  • Costos de envio
  • Estados de entrega
  • Tracking basico

Entregables

  • Configuracion de delivery
  • Estados de pedido con entrega

MCH-017: Notificaciones

Duracion estimada: 1 semana Prioridad: P1 Dependencias: MCH-011

Tareas Backend

  • Crear NotificationsModule
  • Integracion Firebase FCM
  • Programacion de notificaciones
  • Resumen diario automatico
  • Alertas de stock

Integraciones

  • Firebase Cloud Messaging

Entregables

  • Push notifications funcionales
  • Resumen diario por WhatsApp
  • Alertas configurables

FASE 5: MONETIZACION

MCH-018: Planes y Suscripciones

Duracion estimada: 1.5 semanas Prioridad: P0 Dependencias: MCH-005

Tareas Backend

  • Crear SubscriptionsModule
  • Definicion de planes (Changarrito, Tiendita)
  • Creacion de suscripcion en Stripe
  • Manejo de webhooks de suscripcion
  • Cambio de plan
  • Cancelacion

Tareas Database

  • Implementar schema subscriptions
  • Tabla subscriptions.plans
  • Tabla subscriptions.subscriptions

Entregables

  • Planes configurados en Stripe
  • Suscripcion funcional

MCH-019: Tienda de Tokens

Duracion estimada: 1 semana Prioridad: P1 Dependencias: MCH-018

Tareas Backend

  • Paquetes de tokens
  • Compra de tokens (Stripe)
  • Balance de tokens por tenant
  • Consumo de tokens en cada llamada LLM

Tareas Database

  • Tabla subscriptions.token_packages
  • Tabla subscriptions.token_usage
  • Tabla subscriptions.tenant_token_balance

Entregables

  • Tienda de tokens funcional
  • Tracking de consumo

MCH-020: Pagos Suscripcion

Duracion estimada: 1 semana Prioridad: P0 Dependencias: MCH-018

Tareas Backend

  • Pago con OXXO (referencia)
  • Preparar IAP iOS (endpoints)
  • Preparar IAP Android (endpoints)

Entregables

  • Multiples metodos de pago para suscripcion

MCH-021: Dashboard Web

Duracion estimada: 2 semanas Prioridad: P1 Dependencias: MCH-004, MCH-008

Tareas Frontend

  • Dashboard principal con metricas
  • Graficas de ventas
  • Productos mas vendidos
  • Reportes descargables
  • Configuracion de negocio
  • Gestion de suscripcion

Entregables

  • Dashboard web completo
  • Reportes PDF/Excel

FASE 6: CRECIMIENTO

MCH-022: Modo Offline

Duracion estimada: 2 semanas Prioridad: P1 Dependencias: MCH-004

Tareas Mobile

  • SQLite local
  • Sync de productos
  • Registro offline de ventas
  • Cola de sincronizacion
  • Resolucion de conflictos

Entregables

  • App funcional sin internet
  • Sincronizacion automatica

MCH-023: Programa Referidos

Duracion estimada: 1 semana Prioridad: P2 Dependencias: MCH-018

Tareas Backend

  • Generacion de codigos de referido
  • Tracking de referidos
  • Aplicacion de beneficios

Entregables

  • Sistema de referidos funcional

MCH-024: CoDi y SPEI

Duracion estimada: 1.5 semanas Prioridad: P2 Dependencias: MCH-005

Tareas Backend

  • Integracion con Openpay para CoDi
  • Generacion de QR
  • CLABE virtual (si disponible)

Entregables

  • Cobro con CoDi funcional

MCH-025: Widgets y Atajos

Duracion estimada: 1 semana Prioridad: P2 Dependencias: MCH-004

Tareas Mobile

  • Android widget de venta rapida
  • iOS quick actions
  • Deep links

Entregables

  • Widgets funcionales

APP MOBILE (Paralelo a Fases 3-5)

Desarrollo React Native

Duracion estimada: 8-10 semanas (paralelo) Prioridad: P0

Semanas 1-2: Setup

  • Inicializar proyecto Expo en apps/mobile
  • Configurar navegacion (React Navigation)
  • Configurar estado global (Zustand)
  • Configurar API client
  • Pantalla de login

Semanas 3-4: Core

  • Pantalla de POS
  • Componente de carrito
  • Checkout modal
  • Scanner de codigo de barras

Semanas 5-6: Features

  • Pantalla de productos
  • Pantalla de clientes
  • Pantalla de fiados
  • Pantalla de pedidos

Semanas 7-8: Integraciones

  • Push notifications (Expo Notifications)
  • Bluetooth para terminal (si aplica)
  • Deep linking

Semanas 9-10: Polish

  • UI/UX refinamiento
  • Performance optimization
  • Testing
  • Build para TestFlight/Play Console

Cronograma Visual

Semana  1  2  3  4  5  6  7  8  9  10 11 12 13 14 15 16 17 18
        |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |
MCH-001 ████
MCH-002    ██
MCH-003       ██
MCH-004          ███
MCH-005             ████

--- MVP FASE 1 COMPLETADO (Semana 7) ---

MCH-006                ███
MCH-007                   ██
MCH-008                      ███
MCH-009                         ██

--- FASE 2 COMPLETADA (Semana 11) ---

MCH-010                            ████
MCH-011                            ████
MCH-012                                ███
MCH-013                                   ██

--- FASE 3 COMPLETADA (Semana 15) ---

MCH-014                                      ██
MCH-015                                         ███
MCH-017                                            ██

--- FASE 4 BASICA COMPLETADA (Semana 18) ---

MOBILE  |███████████████████████████████████████████████████|
        |  Setup  |  Core  | Features | Integ  |  Polish  |

Metricas de Exito por Fase

Fase 1 - MVP Core

  • Registro de ventas funcional
  • 3 metodos de pago (efectivo, Stripe, MP)
  • Corte de caja diario
  • UI web basica

Fase 2 - Inteligencia

  • Onboarding < 10 minutos
  • 500+ productos en templates
  • Sistema de fiados completo
  • Alertas de stock automaticas

Fase 3 - Asistente IA

  • Respuesta LLM < 3 segundos
  • 10+ tools MCP funcionales
  • Deteccion de rol 95%+ precision
  • Costo < $0.01 por interaccion

Fase 4 - Pedidos

  • Flujo pedido->cobro < 2 minutos
  • Push notifications funcionando
  • 0 pedidos perdidos

Fase 5 - Monetizacion

  • Suscripciones activas
  • Tokens comprables
  • Retencion > 80% mes 2

Riesgos y Mitigaciones

Riesgo Probabilidad Impacto Mitigacion
Bloqueo WhatsApp API Media Alto Usar API oficial, seguir guidelines
Costos LLM elevados Media Medio OpenRouter, modelos economicos, cache
Integracion terminal compleja Media Medio Priorizar una terminal primero
Adopcion usuario mayor Alta Alto UX extremadamente simple, WhatsApp-first
Competencia Media Medio Diferenciacion por IA y simplicidad

Equipo Sugerido

Rol Cantidad Enfoque
Backend Developer 2 NestJS, integraciones, MCP
Frontend Developer 1 React web + React Native
DevOps 0.5 CI/CD, infraestructura
Product/PM 0.5 Prioridades, testing

Total: 4 FTEs


Version: 1.0.0 Fecha: 2026-01-04