feat: Implementar PWA, Analytics, Reportes PDF y mejoras OCR

FASE 1 - PWA y Frontend:
- Crear templates/base.html, dashboard.html, analytics.html, executive.html
- Crear static/css/main.css con diseño responsivo
- Agregar static/js/app.js, pwa.js, camera.js, charts.js
- Implementar manifest.json y service-worker.js para PWA
- Soporte para captura de tickets desde cámara móvil

FASE 2 - Analytics:
- Crear módulo analytics/ con predictions.py, trends.py, comparisons.py
- Implementar predicción básica con promedio móvil + tendencia lineal
- Agregar endpoints /api/analytics/trends, predictions, comparisons
- Integrar Chart.js para gráficas interactivas

FASE 3 - Reportes PDF:
- Crear módulo reports/ con pdf_generator.py
- Implementar SalesReportPDF con generar_reporte_diario y ejecutivo
- Agregar comando /reporte [diario|semanal|ejecutivo]
- Agregar endpoints /api/reports/generate y /api/reports/download

FASE 4 - Mejoras OCR:
- Crear módulo ocr/ con processor.py, preprocessor.py, patterns.py
- Implementar AmountDetector con patrones múltiples de montos
- Agregar preprocesador adaptativo con pipelines para diferentes condiciones
- Soporte para corrección de rotación (deskew) y threshold Otsu

Dependencias agregadas:
- reportlab, matplotlib (PDF)
- scipy, pandas (analytics)
- imutils, deskew, cachetools (OCR)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
2026-01-19 03:26:16 +00:00
parent ed1658eb2b
commit 9936deaa90
25 changed files with 5501 additions and 282 deletions

View File

@@ -82,3 +82,35 @@ COMISION_POR_TUBO_DEFAULT=10
# === EXPORTACIÓN ===
# Formato por defecto para exportación (excel o csv)
EXPORTAR_FORMATO_DEFAULT=excel
# === PWA (Progressive Web App) ===
PWA_APP_NAME=Sales Bot
PWA_SHORT_NAME=SalesBot
PWA_THEME_COLOR=#00d4ff
PWA_BACKGROUND_COLOR=#1a1a2e
# === REPORTES PDF ===
# Directorio para guardar reportes generados
REPORTS_OUTPUT_DIR=/app/reports
# Días de retención de reportes
REPORTS_RETENTION_DAYS=30
# Habilitar envío automático de PDF diario
SCHEDULED_PDF_REPORT_ENABLED=true
# Hora de envío del reporte PDF diario
SCHEDULED_PDF_REPORT_HOUR=18
# === ANALYTICS ===
# Días de histórico para predicciones
PREDICTION_WINDOW_DAYS=30
# Meses de histórico para tendencias
TREND_HISTORY_MONTHS=12
# === OCR MEJORADO ===
# Habilitar corrección de rotación de imagen
OCR_ENABLE_DESKEW=true
# Ángulo máximo de rotación a corregir (grados)
OCR_MAX_ROTATION_ANGLE=15
# Umbral de confianza mínimo para aceptar OCR
OCR_CONFIDENCE_THRESHOLD=0.6
# Usar pipeline de preprocesamiento adaptativo
OCR_USE_ADAPTIVE_PIPELINE=true