FASE 4: - Redis cache de stock con fallback graceful - Multi-moneda (MXN/USD) con contabilidad en MXN - Proveedores y ordenes de compra completo - Meilisearch 1.5M+ partes indexadas - Metabase KPIs con dashboard auto-generado FASE 5: - CRM mejorado: activities, tags, loyalty program, analytics - Imagenes de partes: upload, resize, thumbnails WebP - Ordenes de servicio Kanban: received->diagnosis->repair->ready->delivered - Garantias/RMA, alertas de reorden, multi-sucursal - Stubs BNPL (APLAZO) y ERP Sync (Aspel/Contpaqi) FASE 6: - Notificaciones automaticas: push/WhatsApp/email/in-app - Reportes de ahorro vs retail_price - Logistica + tracking: DHL, FedEx, Estafeta, 99min, Uber - API Publica: API keys, rate limiting, catalog search Migraciones: v1.9-v3.0 Tests: 93/93 pasando Backup: nexus_backup_20260427_045859.tar.gz
5.7 KiB
5.7 KiB
Nexus POS — Resumen de Fases Implementadas
Fecha: 2026-04-27 Versión DB: v3.0 Tests: 93/93 pasando
FASE 1-2: Fundamentos (pre-existente)
- ✅ CFDI 4.0 con Facturapi
- ✅ VIN Decoder (NHTSA)
- ✅ Lookup por placas mexicanas
- ✅ Carrito unificado multi-bodega
- ✅ Cotizaciones digitales → WhatsApp
- ✅ Auth JWT + roles
FASE 3: Multi-sucursal + Alertas + Garantías
Migración: v2.2
| Feature | Archivos | Endpoints |
|---|---|---|
| Multi-sucursal | inventory_engine.py, inventory_bp.py |
GET /pos/api/inventory/stock-by-branch, POST /pos/api/inventory/transfers, POST /pos/api/inventory/sync-prices |
| Alertas de Reorden | reorder_engine.py |
POST /pos/api/inventory/generate-alerts, GET /pos/api/inventory/reorder-alerts, PUT /pos/api/inventory/reorder-alerts/:id/acknowledge, PUT /pos/api/inventory/reorder-alerts/:id/resolve, GET /pos/api/inventory/reorder-suggest-po |
| Garantías / RMA | warranty_engine.py, warranty_bp.py |
POST /pos/api/warranties, GET /pos/api/warranties, GET /pos/api/warranties/:id, GET /pos/api/customers/:id/warranties, POST /pos/api/warranty-claims, PUT /pos/api/warranty-claims/:id/resolve, PUT /pos/api/warranty-claims/:id/close |
FASE 4: Infraestructura + Escalabilidad
Migraciones: v1.9, v2.0, v2.1, v2.3
| Feature | Archivos | Infra |
|---|---|---|
| Redis Cache | redis_stock_cache.py, inventory_engine.py |
Redis 8.0.2, TTL 300s, fallback a PostgreSQL |
| Multi-moneda | currency.py, pos_engine.py, cfdi_builder.py |
MXN base, USD soporte, contabilidad siempre en MXN |
| Proveedores + POs | supplier_engine.py, supplier_bp.py |
11 endpoints: CRUD proveedores + workflow PO completo |
| Meilisearch | meili_search.py, catalog_service.py, sync_meilisearch.py |
Docker, 1.5M+ partes indexadas, búsqueda 4ms |
| Metabase KPIs | setup_metabase.py, docker-compose.metabase.yml |
Docker v0.53, dashboard auto-generado |
FASE 5: CRM + Service Orders + Imágenes
Migraciones: v2.4, v2.5, v2.6
| Feature | Archivos | Capacidades |
|---|---|---|
| CRM Mejorado | crm_engine.py, crm_bp.py |
Activities timeline, tags de segmentación, loyalty program (bronze/silver/gold/platinum), analytics (LTV, churn risk, categorías favoritas) |
| Imágenes de Partes | image_service.py, image_bp.py |
Upload multipart/URL, resize 1200px, thumbnail 300x300, WebP, bulk import |
| Órdenes de Servicio | service_order_engine.py, service_order_bp.py |
Kanban: received→diagnosis→waiting_parts→repair→quality_check→ready→delivered, items (refacciones), labor (mano de obra), historial de status |
whatsapp_service.py, whatsapp_bp.py |
Webhook Baileys, AI chatbot, cotizaciones, voz, imágenes | |
| Flotillas | fleet_bp.py |
CRUD vehículos, maintenance schedules, logs, alerts, stats |
| BNPL stub | bnpl_engine.py |
Arquitectura APLAZO/Kueski/Clip |
| ERP Sync stub | erp_sync_engine.py |
Arquitectura Aspel/Contpaqi/SAP/Odoo |
FASE 6: Notificaciones + Ahorro + Logística + API Pública
Migraciones: v2.7, v2.8, v2.9, v3.0
| Feature | Archivos | Capacidades |
|---|---|---|
| Notificaciones | notification_engine.py, notification_bp.py |
Templates por evento+canal, dispatch automático (push/WhatsApp/email/in-app), logs con estados, eventos: low_stock, order_ready, maintenance_due, new_sale, po_received, reorder_alert, warranty_expiring |
| Reportes de Ahorro | savings_engine.py, savings_bp.py |
Campo retail_price en inventory, cálculo automático en checkout, reporte por cliente (LTV ahorro, desglose mensual), reporte global (top clientes, promedio por orden) |
| Logística + Tracking | logistics_engine.py, logistics_bp.py |
6 couriers pre-cargados (DHL, FedEx, Estafeta, 99min, Uber, Pickup), envíos vinculados a ventas/SO/PO, tracking URL auto-generada, historial de estatus |
| API Pública | public_api_engine.py, public_api_bp.py |
API keys seguras (SHA-256), scopes (read/write/admin), rate limiting por minuto/día con headers, logging de requests, endpoints: /api/v1/health, /api/v1/catalog/search, /api/v1/catalog/parts/:id |
Infraestructura Desplegada
| Servicio | Versión | Puerto | Estado |
|---|---|---|---|
| PostgreSQL | 17 | 5432 | ✅ Master + 2 tenants |
| Redis | 8.0.2 | 6379 | ✅ Stock cache |
| Meilisearch | v1.12 | 7700 | ✅ 1,546,976 documentos |
| Metabase | v0.53 | 3000 | ✅ Dashboard ID 2 |
Variables de Entorno Requeridas
# Base
MASTER_DB_URL=postgresql://user:pass@host/nexus_autoparts
TENANT_DB_URL_TEMPLATE=postgresql://user:pass@host/{db_name}
POS_JWT_SECRET=<32+ bytes hex>
# Redis
REDIS_URL=redis://localhost:6379/0
REDIS_ENABLED=true
REDIS_STOCK_TTL=300
# Meilisearch
MEILI_URL=http://localhost:7700
MEILI_API_KEY=nexus-master-key-change-me
MEILI_ENABLED=true
# Multi-moneda
DEFAULT_CURRENCY=MXN
EXCHANGE_RATE_USD_MXN=17.5
# WhatsApp (opcional)
WHATSAPP_BRIDGE_URL=http://localhost:21465
WHATSAPP_BRIDGE_KEY=
# AI (opcional)
OPENROUTER_API_KEY=
# Metabase (opcional)
METABASE_DB_PASS=
METABASE_URL=http://localhost:3000
Próximos Pasos (Roadmap restante)
- Mercado Libre / Amazon sync — Publicar inventario en marketplaces
- IA por voz (Chalán de Nexus) — Integrar whisper_local.py como asistente
- PWA mejorada — Offline mode, install prompt, background sync
- Portal de proveedores — Demand analytics, heatmaps, stock recommendations
- Dashboard in-app — Gráficos de rendimiento en tiempo real
Backup
Último backup: /home/Autopartes/backups/nexus_backup_20260427_045859.tar.gz (1.3 GB)