docs: actualiza FASES_IMPLEMENTADAS.md con estado post-voz y roadmap pendiente

This commit is contained in:
2026-04-28 05:17:31 +00:00
parent 27cb4ee683
commit c75e2a75c9

View File

@@ -1,8 +1,8 @@
# Nexus POS — Resumen de Fases Implementadas
**Fecha:** 2026-04-27
**Fecha:** 2026-04-28
**Versión DB:** v3.2
**Tests:** 108/108 pasando (pytest) + 207 checks (scripts standalone)
**Tests:** 73/73 pasando (pytest)
---
@@ -81,6 +81,35 @@
- Ventas 20 ítems: 21 queries → 1 query
- Cache hit rate: 6% → 80%+
## Opción C — Consolidación Técnica (COMPLETADA)
| Item | Estado | Commit |
|------|--------|--------|
| **C1: MV `part_vehicle_preview`** | ✅ En producción, refresh automático vía systemd timer (03:00 UTC) | `f893391` |
| **C2: Cache warming script** | ✅ Autónomo con auto-sudo fallback, args CLI | `f893391` |
| **C3: CSS dinámico residual** | ✅ `sidebar.js``sidebar.css`, `pos-utils.js``common.css` | `042acd6` |
| **C4: Load testing script** | ✅ `scripts/load_test.py` con `locust` | `042acd6` |
| **C5: Docs audit** | ✅ `FASES_IMPLEMENTADAS.md`, `performance_audit_2026.md` | `042acd6` |
## Opción A — Arquitectura Avanzada (COMPLETADA)
| Item | Estado | Commit |
|------|--------|--------|
| **A1: `orjson` como JSON provider** | ✅ Hereda `DefaultJSONProvider`, fix indent en `pos_bp.py` | `a1be8dd` |
| **A2: Virtual scroll** | ✅ `inventory.js`, `customers.js`, `fleet.js` | `a1be8dd` |
| **A3: Celery worker queue** | ✅ `celery_app.py`, `tasks.py`, `tasks_bp.py`, systemd service activo | `a1be8dd` |
| **A4: Quart + asyncpg PoC** | ✅ `async_catalog.py` en puerto 5002, benchmark script | `a1be8dd` |
| **A5: Particionamiento `vehicle_parts`** | ✅ Script `partition_vehicle_parts.py` listo (HASH 16 particiones, dry-run) | `a1be8dd` |
## IA por Voz — Chalán de Nexus (COMPLETADA)
| Componente | Estado |
|------------|--------|
| **STT (Speech-to-Text)** | ✅ POS + Dashboard público, `es-MX`, auto-send, animación micrófono |
| **TTS (Text-to-Speech)** | ✅ Botón 🔊 en burbujas de IA, `speechSynthesis`, preferencia guardada en `localStorage` |
| **Cobertura templates POS** | ✅ 14/14 templates tienen chat widget |
| **Dashboard público** | ✅ Chat público con voz completa (sin cámara) |
---
## Infraestructura Desplegada
@@ -93,6 +122,8 @@
| Metabase | v0.53 | 3000 | ✅ Dashboard ID 2 |
| Nginx | — | 80/443 | ✅ gzip, cache 6M, auto-serve .min |
| Gunicorn | — | 5001 | ✅ gthread, 4×4, max_requests=1000 |
| Celery | — | — | ✅ 4 prefork workers, broker redis://localhost:6379/1 |
| Quart PoC | — | 5002 | ✅ hypercorn manual, no en producción |
---
@@ -132,28 +163,44 @@ METABASE_URL=http://localhost:3000
---
## Próximos Pasos (Roadmap restante)
## Mejoras Pendientes (Roadmap Actualizado)
### Opción C — Consolidación Técnica (en progreso)
1. **Materialized view `part_vehicle_preview`** — Fallback robusto al Redis cache para vehicle info
2. **Fix cache warming script** — Autonomía sin `sudo -u postgres`
3. **CSS dinámico residual** — Extraer CSS inyectado por JS a archivos externos
4. **Load testing script** — Benchmark básico de endpoints críticos
5. **Docs audit** — Corregir métricas y marcar estado post-FASE 7
### 🔴 Crítico — Deuda Técnica
### Opción A — Arquitectura (pendiente)
1. **Serialización `orjson`** — 2-10× faster JSON
2. **Virtual scroll** — Tablas grandes sin lag
3. **Celery worker queue** — Tareas pesadas async
4. **Asyncpg + Quart PoC** — Evaluar I/O no bloqueante para catálogo
5. **Particionar `vehicle_parts`** — Escalabilidad ilimitada (254 GB → particiones)
| # | Mejora | Descripción | Bloqueo |
|---|--------|-------------|---------|
| 1 | **Particionar `vehicle_parts` en producción** | Script `partition_vehicle_parts.py` listo. Ejecutar en staging primero, luego producción. Reduce 254 GB → particiones HASH 16. | Necesita ventana de mantenimiento |
| 2 | **Quart async catalog en producción** | PoC en puerto 5002 funciona. Integrar con nginx reverse proxy, migrar endpoints críticos. | Necesita hypercorn + monitoreo |
| 3 | **Arreglar `scripts/minify-assets.sh`** | Itera sobre `*.js`/`*.css` incluyendo `.min.*`, generando `.min.min.*`. Filtrar archivos ya minificados. | Riesgo de archivos corruptos en deploy |
### Features de Negocio (futuro)
1. **Mercado Libre / Amazon sync** — Publicar inventario en marketplaces
2. **IA por voz (Chalán de Nexus)** — Web Speech API → chatbot existente
3. **PWA mejorada** — Offline mode, install prompt, background sync
4. **Portal de proveedores** — Demand analytics, heatmaps, stock recommendations
5. **Dashboard in-app** — Gráficos de rendimiento en tiempo real
### 🟠 Alto — Features de Negocio
| # | Mejora | Descripción | Esfuerzo |
|---|--------|-------------|----------|
| 4 | **WhatsApp Business API (Meta Cloud)** | Actualmente solo webhook Baileys. Migrar a Meta Cloud API para escalabilidad real. Requiere verificación de cuenta Meta. | 2-3 semanas |
| 5 | **BNPL real** | Integrar APLAZO/Kueski/Clip para "compra ahora, paga en 15/30 días". Ahora solo es stub. | 2 semanas |
| 6 | **ERP Sync real** | Conectar con Aspel/Contpaqi/SAP/Odoo vía API o archivos de intercambio. Ahora solo es stub. | 2-3 semanas |
| 7 | **Mercado Libre / Amazon sync** | Publicar inventario de bodegas en marketplaces. API de ML Seller + Amazon SP-API. | 3 semanas |
| 8 | **PWA mejorada** | Offline mode, install prompt, background sync para catálogo y carrito. | 1-2 semanas |
### 🟡 Medio — Diferenciadores
| # | Mejora | Descripción | Esfuerzo |
|---|--------|-------------|----------|
| 9 | **App móvil nativa (Capacitor)** | Wrap del POS como app iOS/Android. Camera nativa, push notifications, biometrics. | 3-4 semanas |
| 10 | **Portal de proveedores** | Dashboard para que proveedores vean demanda por zona y tipo de parte. | 2 semanas |
| 11 | **Dashboard in-app** | Gráficos de rendimiento en tiempo real (ventas, productividad, conversión) en el POS. | 1-2 semanas |
| 12 | **Crédito basado en comportamiento** | Evaluación automática de línea de crédito por historial de pagos del cliente. | 2 semanas |
| 13 | **Programa de embajadores** | Referidos con recompensas, tracking de conversiones. | 1 semana |
### 🟢 Bajo — Polish
| # | Mejora | Descripción |
|---|--------|-------------|
| 14 | **Cache warming automatizado** | Agregar systemd timer/service para correr `warm_cache.py` diariamente (ahora es manual). |
| 15 | **Backup automatizado** | El último backup es del 27/04. Automatizar con cron + S3/GCS. |
| 16 | **Monitoreo/Alerting** | Prometheus/Grafana o similar para gunicorn, PostgreSQL, Redis, Celery. |
| 17 | **Tests de integración frontend** | Playwright/Cypress para flujos críticos (checkout, búsqueda, login). |
---