Skip to content

Releases: FernandezIvan323/AppTurnos

v1.1.4 — Pedidos pickup, turnos FIFO, historial mesero

Choose a tag to compare

@FernandezIvan323 FernandezIvan323 released this 23 Jun 19:09

v1.1.4 (2026-06-23) — Pedidos pickup, turnos FIFO, historial mesero

Nuevas funcionalidades

  • Pedidos Para llevar (pickup): nueva pagina completa con:

    • Tablero Kanban de 3 columnas (pendiente, preparacion, listo para recoger)
    • Creacion desde catalogo con carrito, tiempo estimado (5-30 min) y notas por item
    • Cobro integrado (efectivo, tarjeta, transferencia) directamente desde la vista
    • Cancelacion con motivo obligatorio
  • Sistema de turnos FIFO: funcion assignTurns() aplicada en:

    • Domicilios (badge del siguiente pedido con borde especial)
    • Mesas ocupadas (ordenadas por antiguedad)
    • Caja (turno numerico en cada pedido)
    • Pickup (turno y countdown del tiempo estimado)
  • Historial de mesero: nuevo modal en Staff que muestra pedidos, items, totales y propinas

  • Reportes redisenados con 5 tabs:

    • Resumen: 6 StatCards, metodos de pago, grafico de ventas, comparativa
    • Productos: top productos + productos nunca vendidos
    • Clientes: top 10 por gasto total
    • Operacion: horarios pico + ventas por categoria
    • Historial: tabla de dias con ventas, gastos, neto y estado del corte
  • Endpoint /reports/daily-history: historial de dias con ventas, gastos y neto

  • Endpoint /reports/waiter-history: historial de pedidos por mesero con items y propinas

Mejoras

  • Staff/Personal:
    • Asignacion de mesas mejorada: pre-selecciona mesas ya asignadas, muestra mesero en tabla
    • ConfirmModal para eliminar repartidores y mesas (reemplaza confirm() nativo)
    • Badge 'Fuera de turno' ahora en rojo
  • Reporte diario: incluye metodos de pago y conteo de pedidos pickup
  • BarChart: modo vertical, colores personalizados, valores en barras
  • Dark mode completado: DailyReport, Inventory, Expenses
  • Caja: filtros incluyen solo para llevar

Fixes

  • Asignaciones: removido ON CONFLICT DO NOTHING
  • Encoding: corregido character corrupto N en tabla de mesas
  • Expenses: resumen usa fecha del filtro activo
  • Backend: migracion estimate_minutes, columnas pickup_orders/pickup_count

v1.1.3 — Control de deudas y estabilidad

Choose a tag to compare

@FernandezIvan323 FernandezIvan323 released this 10 Jun 00:10

v1.1.3 (2026-06-09) - Control de deudas y estabilidad

💸 Control de deudas (pedidos no pagados)

  • Boton "Entregado (deuda)" en domicilios y mesas cuando el cliente no paga.
  • Nueva pagina /debts con listado completo, filtro por tipo (delivery/mesa), antiguedad y boton "Cobrar".
  • Endpoints POST /orders/:id/mark-delivered y POST /orders/:id/pay-debt.
  • Corte de caja ya no bloquea por deudas pendientes.

📊 Historial de repartidor

  • Muestra el total de dinero entregado acumulado por cada repartidor.

🎨 UI

  • Modal de confirmacion personalizado (ConfirmModal.jsx) reemplaza el confirm() nativo.
  • Eliminada seccion "Como empezar" del Dashboard.

🐛 Fixes

  • Query SQL de historial de entregas corregida (LEFT JOIN customers faltante causaba error 500).
  • ServerStatus ya no recarga la pagina al recuperarse de error transitorio.
  • Encoding UTF-8 corrupto reparado en toda la UI.
  • Kill-Port ahora mata toda la cadena node (hijo + --watch padre + huerfanos).

v1.1.2

Choose a tag to compare

@FernandezIvan323 FernandezIvan323 released this 09 Jun 17:48
fix: ServerStatus ya no recarga la pagina al recuperarse de un error …

v1.1.0 — Seguridad integral de datos

Choose a tag to compare

@FernandezIvan323 FernandezIvan323 released this 09 Jun 16:40

🔒 Seguridad

  • Helmet: cabeceras HTTP de seguridad (CSP, XSS, HSTS, X-Frame-Options).
  • CORS restringido: solo orígenes permitidos configurados en \CORS_ORIGINS.
  • Rate limiting: máximo 10 intentos de login cada 15 minutos por IP.
  • JWT_SECRET: secreto criptográfico de 64 bytes (generado con \crypto.randomBytes).
  • SQL Injection fix: timezone ahora usa query parametrizada en \withTransaction.
  • Error handler: errores 500 no exponen \err.message\ interno al cliente.
  • Seed seguro: PINs por defecto cambiados a \7482\ (admin) y \3197\ (meseros).

🎨 Temas

  • Obsidian Wine: nuevo tema oscuro con paleta vino tinto (fondo #0b090a, rojos vívidos).
  • Calcite: nuevo tema claro con grises cálidos, naranja #FD7B41\ y durazno #EDBF9B.

🛠️ Estabilidad

  • Zombie ports: \Kill-Port\ mata toda la cadena node (hijo + watcher --watch\ padre + huérfanos), espera 5s a que el puerto se libere.
  • Puerto 3001: \server/index.js\ reintenta hasta 5 veces si el puerto está ocupado (EADDRINUSE).
  • stop-server.ps1: ahora también mata el watcher --watch\ padre.