feat: inicializacion de Help Desk segun estandar Telcotronics con bitacora de errores e integracion MCP
This commit is contained in:
@@ -0,0 +1,96 @@
|
||||
# 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
|
||||
```bash
|
||||
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:
|
||||
```ini
|
||||
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):
|
||||
```bash
|
||||
node config/setup.js
|
||||
```
|
||||
|
||||
### 4. Iniciar la Aplicación
|
||||
```bash
|
||||
# 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
|
||||
|
||||
- **Punto de Entrada de Agentes:** [agents.md](file:///home/pablinux/Projects/Node/help_desk/agents.md)
|
||||
- **Documentación Interna del Proyecto:** Carpeta [.agente/](file:///home/pablinux/Projects/Node/help_desk/.agente/)
|
||||
- **Inventario Global del Ecosistema:** [.agente/infraestructura.md](file:///home/pablinux/Projects/Node/help_desk/.agente/infraestructura.md)
|
||||
- **Identidad del Agente:** [id_agente.md](file:///home/pablinux/Projects/Node/help_desk/id_agente.md)
|
||||
Reference in New Issue
Block a user