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>
117 lines
3.2 KiB
Plaintext
117 lines
3.2 KiB
Plaintext
# ============================================================================
|
|
# SALES BOT - VARIABLES DE ENTORNO (EJEMPLO)
|
|
# ============================================================================
|
|
#
|
|
# Copiar este archivo a .env y configurar los valores
|
|
#
|
|
|
|
# === MATTERMOST ===
|
|
# URL de tu instancia de Mattermost
|
|
MATTERMOST_URL=http://localhost:8065
|
|
|
|
# Token del bot salesbot (obtener en Integraciones > Bot Accounts)
|
|
MATTERMOST_BOT_TOKEN=tu_token_aqui
|
|
|
|
# Nombre del equipo en Mattermost
|
|
MATTERMOST_TEAM_NAME=sales
|
|
|
|
# Secret del webhook (obtener en Integraciones > Outgoing Webhooks)
|
|
MATTERMOST_WEBHOOK_SECRET=tu_secret_aqui
|
|
|
|
# Incoming webhook para responder en el canal
|
|
MATTERMOST_WEBHOOK_URL=http://localhost:8065/hooks/tu_hook_id
|
|
|
|
# === NOCODB ===
|
|
# URL de tu instancia de NocoDB
|
|
NOCODB_URL=http://localhost:8080
|
|
|
|
# Token de API de NocoDB (obtener en Settings > API Tokens)
|
|
NOCODB_TOKEN=tu_token_aqui
|
|
|
|
# IDs de tablas en NocoDB (obtener de la URL al abrir cada tabla)
|
|
NOCODB_TABLE_VENDEDORES=tu_table_id
|
|
NOCODB_TABLE_VENTAS=tu_table_id
|
|
NOCODB_TABLE_VENTAS_DETALLE=tu_table_id
|
|
NOCODB_TABLE_METAS=tu_table_id
|
|
|
|
# === FLASK ===
|
|
FLASK_PORT=5000
|
|
FLASK_DEBUG=False
|
|
|
|
# === LOGGING ===
|
|
LOG_LEVEL=INFO
|
|
LOG_FILE=/app/logs/sales-bot.log
|
|
|
|
# === ZONA HORARIA ===
|
|
# México: -6, Cancún: -5, España: +1
|
|
TZ_OFFSET=-6
|
|
|
|
# === SCHEDULER (Notificaciones Automáticas) ===
|
|
# Habilitar/deshabilitar el scheduler de tareas programadas
|
|
SCHEDULER_ENABLED=True
|
|
|
|
# Hora del recordatorio de mediodía (0-23)
|
|
RECORDATORIO_MEDIODIA_HORA=12
|
|
|
|
# Hora del resumen diario (0-23)
|
|
RESUMEN_DIARIO_HORA=18
|
|
|
|
# Día de la semana para resumen semanal (mon, tue, wed, thu, fri, sat, sun)
|
|
RESUMEN_SEMANAL_DIA=mon
|
|
|
|
# Hora del resumen semanal (0-23)
|
|
RESUMEN_SEMANAL_HORA=9
|
|
|
|
# === BONOS POR RACHA ===
|
|
# Bonus en pesos por cumplir meta consecutivamente
|
|
BONUS_3_DIAS=20
|
|
BONUS_5_DIAS=50
|
|
BONUS_10_DIAS=150
|
|
|
|
# === CONFIRMACIÓN DE VENTAS ===
|
|
# Tiempo en minutos antes de que expire una venta pendiente de confirmación
|
|
CONFIRMACION_TIMEOUT_MINUTOS=2
|
|
|
|
# === METAS Y COMISIONES (Defaults) ===
|
|
# Meta diaria de tubos por vendedor (default)
|
|
META_DIARIA_TUBOS_DEFAULT=3
|
|
|
|
# Comisión por tubo vendido después de cumplir meta (default)
|
|
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
|