Help Desk — Sistema Multi-Tenant de Gestión de Incidencias

Sistema web modular para gestión de tickets de soporte técnico, atención al cliente y administración multi-tenant (SaaS), construido sobre Node.js, Express 5 y MariaDB.


🎯 ¿Qué resuelve?

Centraliza la recepción, triaje, asignación y resolución de solicitudes de soporte técnico dentro de las organizaciones del ecosistema Telcotronics. Permite que múltiples empresas o departamentos gestionen sus tickets de forma completamente aislada a través de una arquitectura SaaS integrada.


👥 Roles de Usuario y Capacidades

Rol Dashboard / Acceso Capacidades Principales
Superadmin /saas/companies Alta de empresas, activación/suspensión de tenants y control de cuotas
Admin /admin/dashboard Gestión de agentes y clientes, CRUD de departamentos y configuración del tenant
Agente /agent/dashboard Bandeja de tickets, cambio de estado (abierto, en_progreso, cerrado), asignación y respuestas
Cliente /client/dashboard Apertura de tickets con prioridad y departamento, consulta de historial y respuestas

🛠️ Stack Tecnológico

  • Backend: Node.js 18+ con Express 5.2.
  • Vistas: EJS con partials modulares.
  • Base de Datos: MariaDB / MySQL vía conector nativo mysql2/promise.
  • Autenticación: Sesiones del lado del servidor con express-session y contraseñas cifradas con bcryptjs.
  • Frontend: Bootstrap 5.3 + Font Awesome 6 (vía CDN) y CSS/JS personalizados.

📋 Requisitos Previos

  • Node.js versión 18 o superior.
  • MariaDB 10.x / MySQL 8.x con acceso a crear bases de datos y tablas.

🚀 Instalación y Puesta en Marcha

1. Clonar e instalar dependencias

git clone <url-repositorio> help_desk
cd help_desk
npm install

2. Configurar variables de entorno

Crea un archivo .env en la raíz basándote en la plantilla:

PORT=3008
DB_HOST=192.168.10.149
DB_USER=helpdesk
DB_PASSWORD=tu_password_segura
DB_NAME=help_desk
SESSION_SECRET=tu_secreto_de_sesion
JWT_SECRET=tu_jwt_secret

3. Inicializar y migrar la Base de Datos

Ejecuta el script de configuración automática para crear la base de datos, tablas, relaciones y datos semilla (empresa demo y usuarios iniciales):

node config/setup.js

4. Iniciar la Aplicación

# Modo producción
npm start

# Modo desarrollo
node app.js

Acceso en navegador: http://localhost:3008


🔑 Credenciales por Defecto (Seed)

Rol Correo Electrónico Contraseña
Superadmin super@helpdesk.com 123456
Admin admin@helpdesk.com 123456
Agente agent@helpdesk.com 123456
Cliente client@helpdesk.com 123456

📁 Documentación para Agentes e Infraestructura

S
Description
Sistema de Help Desk, Tickets y FSM Multi-tenant del Ecosistema Telcotronics
Readme
530 KiB
Languages
EJS 53.8%
JavaScript 35%
CSS 7.3%
Shell 3.9%