Guía para Instalar y Configurar el Servidor de la API con Node.js Este documento explica cómo configurar un pequeño servidor web en tu PC para que la aplicación "Precios" pueda conectarse a tu base de datos MySQL de forma segura. --- Paso 1: Instalar Node.js en tu PC --- Node.js es el entorno que nos permite ejecutar el código del servidor. 1. Ve a la página oficial de Node.js: https://nodejs.org/ 2. Descarga la versión que dice LTS (Significa "Soporte a Largo Plazo" y es la más estable). 3. Ejecuta el instalador que descargaste en tu PC y sigue los pasos (puedes dejar todas las opciones por defecto). Para verificar que se instaló correctamente, abre una Terminal o Símbolo del sistema (CMD) y escribe `node -v`. Deberías ver un número de versión. --- Paso 2: Crear el Archivo de la API --- 1. En tu PC, crea una carpeta nueva en un lugar fácil de encontrar (por ejemplo, en el Escritorio). Llámala `api_precios`. 2. Dentro de esa carpeta, crea un nuevo archivo de texto y llámalo `api_server.js`. 3. Abre `api_server.js` con un editor de texto (como el Bloc de notas) y pega el siguiente código completo: '''javascript // --- CONFIGURACIÓN: Edita estas 5 líneas --- const dbConfig = { host: "localhost", // o la IP de tu servidor MySQL si no es la misma máquina user: "tu_usuario_de_bd", password: "tu_contraseña_de_bd", database: "tu_nombre_de_bd", table: "articulo" }; const API_PORT = 3000; // El puerto en el que escuchará la API // --- Código del Servidor (No necesitas editar nada debajo de esta línea) --- const express = require('express'); const mysql = require('mysql'); const app = express(); // Endpoint principal para buscar productos app.get('/product', (req, res) => { res.setHeader('Content-Type', 'application/json'); const productCode = req.query.code; if (!productCode) { return res.status(400).send(JSON.stringify({ status: 'error', message: 'No se proporcionó ningún código.' })); } const connection = mysql.createConnection(dbConfig); connection.connect(error => { if (error) { console.error("Error al conectar a la BD:", error); return res.status(500).send(JSON.stringify({ status: 'error', message: 'Error interno del servidor al conectar a la BD.' })); } const query = `SELECT nombre, precio1ex FROM ?? WHERE codigo = ?`; const params = [dbConfig.table, productCode]; connection.query(query, params, (err, results) => { if (err) { console.error("Error en la consulta SQL:", err); connection.end(); return res.status(500).send(JSON.stringify({ status: 'error', message: 'Error interno del servidor al realizar la consulta.' })); } if (results.length > 0) { const product = results[0]; res.send(JSON.stringify({ status: 'ok', product: { nombre: product.nombre, precio1ex: parseFloat(product.precio1ex) } })); } else { res.send(JSON.stringify({ status: 'error', message: 'Producto no encontrado.' })); } connection.end(); }); }); }); // Iniciar el servidor app.listen(API_PORT, () => { console.log(`Servidor de API iniciado. Escuchando en el puerto ${API_PORT}`); console.log(`Prueba en tu navegador: http://localhost:${API_PORT}/product?code=TU_CODIGO_DE_PRUEBA`); }); ''' --- Paso 3: Instalar las Dependencias de la API --- 1. Abre una Terminal o Símbolo del sistema (CMD) en tu PC. 2. Navega dentro de la carpeta que creaste. Por ejemplo: `cd Desktop/api_precios` 3. Una vez dentro de la carpeta, ejecuta estos dos comandos, uno después del otro: `npm install express` `npm install mysql` Esto descargará automáticamente las librerías `express` y `mysql` en una nueva subcarpeta llamada `node_modules`. --- Paso 4: Iniciar tu API (Modo Manual) --- 1. En la misma terminal, y todavía dentro de la carpeta `api_precios`, ejecuta el siguiente comando: `node api_server.js` 2. Deberías ver un mensaje que dice: `Servidor de API iniciado. Escuchando en el puerto 3000`. 3. ¡Importante! Debes dejar esa ventana de terminal abierta y sin cerrar. Si la cierras, el servidor se apagará. Puedes minimizarla. ************************************************************************************************************************************************ --- Sección Avanzada: Iniciar el Servidor en Segundo Plano (Modo Silencioso) --- ************************************************************************************************************************************************ Para evitar tener una ventana de terminal siempre abierta, puedes usar un "Gestor de Procesos" como `pm2`. **Paso 1: Instalar pm2** 1. Abre una nueva Terminal o Símbolo del sistema (CMD). 2. Ejecuta el siguiente comando para instalar `pm2` de forma "global" en tu sistema: `npm install pm2 -g` **Paso 2: Iniciar tu Servidor con pm2** 1. En una terminal, navega hasta tu carpeta `api_precios`. `cd Desktop/api_precios` 2. En lugar de usar `node`, usa `pm2` para iniciar el servidor: `pm2 start api_server.js` Ahora puedes cerrar la ventana de la terminal y el servidor seguirá funcionando en segundo plano. **Comandos Útiles de pm2:** * Para ver la lista de servidores que están funcionando: `pm2 list` * Para ver los mensajes y errores de tu servidor: `pm2 logs` * Para detener tu servidor: `pm2 stop api_server` * Para reiniciarlo: `pm2 restart api_server` * Para eliminarlo de la lista de pm2: `pm2 delete api_server` **Paso Final (Opcional pero Recomendado): Que se inicie solo con Windows** Para que el servidor se inicie automáticamente cada vez que enciendes tu PC: 1. Ejecuta `pm2 startup`. 2. Este comando te mostrará *otro* comando que debes copiar y pegar en la misma terminal. Hazlo. 3. Finalmente, guarda la lista de procesos actual para que se restaure al reiniciar: `pm2 save`