Manual Técnico
Simulador de Call Center
Bienvenido al Manual Técnico para la solución Simulador de call center
Repositorio: MynorCifuentes/LFP_2S2025_201318644
Descripción General
El sistema está desarrollad en Node.js con sintaxis ESM (import/export). Permite analizar archivos CSV de registros de llamadas y generar reportes HTML. Los módulos principales son Practica/index.js para la interacción de usuario y Reportes/Generador.js para la generación de reportes.
Flujo de Ejecución
- Inicio:
El usuario ejecuta el script principal con:1
node Practica/index.js
- Interfaz:
El usuario interactúa mediante la consola (readline), usandostdinystdoutimportados desde'node:process'. - Carga de Datos:
El usuario ingresa el nombre de un archivo CSV ubicado enPractica/Entradas/. El sistema parsea el archivo y almacena los datos en memoria. - Generación de Reportes:
El usuario seleccina opciones del menú para generar reportes HTML enPractica/Salidas/.
Si la carpetaSalidasno existe, los métodos lanzan un error controlado.
Detalles Técnicos
1. index.js (Practica/index.js)
- Utiliza ES Modules (
import). - Usa
readlinepara entrada/salida por consola:1
2import readline from 'readline';
import { stdin as input, stdout as output } from 'node:process'; - Las rutas a archivos son relativas.
- Procesa archivos CSV dividiendo líneas y campos mediante
.split(). - Almacena operadores y clientes usando
Mappara evitar duplicados. - Llama a funciones de generación de reportes importadas desde
Reportes/Generador.js.
2. Generador.js (Reportes/Generador.js)
- Exporta funciones para crear reportes en HTML.
- Utiliza
fs.writeFileSyncpara generar archivos en la carpeta./Salidas. - No crea la carpeta
Salidas: si no existe, los métodos lanzan error controlado (try/catch). - Los reportes usan tablas HTML simples, sobrescriben el archivo si existe.
- Cada función recibe los datos ya procesados (arreglos de objetos).
3. Entradas y Salidas
- Entradas: archivos
.csvcon estructura definda (ver ejemplo en manual de usuario). - Salidas: archivos
.htmlcon tablas de datos, en la carpetaSalidas.
Ejemplo de Estructura de un Archivo CSV
1 | id_operador,nombre_operador,estrellas,id_cliente,nombre_cliente |
- El campo
estrellascontienexseparados por;, donde la cantidad dexrepresenta la calificación.
Manejo de Errores
- Si la carpeta
Salidasno existe, cada función de reporte muestra un mensaje de error en consola y no genera el archivo. - Si el archivo CSV no existe o tiene formato incorrecto, el sistema muestra un error y no carga datos.
- Las opciones del menú que requieren datos cargados, pero no hay datos, generan reportes vacíos.
Extensión y Mantenimiento
- Para agregar nuevos reportes, añae funciones en
Reportes/Generador.jssiguiendo la estructura de las existentes. - Puedes modificar la estructura de las tablas HTML según necesidades.
- El sistema es modular: el procesamiento de datos y la generación de reportes están separados.
Dependencias
- Node.js (v18 o superior recomendado)
- No se utilizan paquetes externos, solo módulos nativos
fs,readliney'node:process'.
Contacto
Para reportar errores o sugerencias puedes hacerlos a través de los issues del repositorio:
Issues - MynorCifuentes/LFP_2S2025_201318644




