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