- Añadido nuevo flujo "Industrias Leads" para procesar datos de empresas manufactureras - Renombrado flujo de cooperativas para mayor consistencia - Mejorada la organización visual de los nodos - Respaldados archivos de configuración críticos - Actualizada documentación del README.md con detalles de ambos flujos - Actualizado CHANGELOG.md a versión 0.4.0 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
149 lines
4.1 KiB
Markdown
149 lines
4.1 KiB
Markdown
# WebServices con Node-RED
|
|
|
|

|
|

|
|

|
|
|
|
## 📋 Descripción
|
|
|
|
Plataforma de servicios web basada en Node-RED para orquestación y automatización de servicios WEBAPI. El proyecto incluye flujos automatizados para extracción de datos (web scraping) y procesamiento de información desde fuentes públicas.
|
|
|
|
## 🔧 Tecnologías
|
|
|
|
```
|
|
Framework: Node-RED v4.0.9
|
|
Plataforma: Node.js
|
|
Fecha de Creación: 2025-03-23
|
|
```
|
|
|
|
## 📁 Estructura
|
|
|
|
```
|
|
webservices/
|
|
├── docs/ # Documentación del proyecto
|
|
├── .node-red/ # Directorio de configuración de Node-RED
|
|
│ ├── flows.json # Definición principal de flujos
|
|
│ └── flows_cred.json # Credenciales de flujos (no incluido en el repositorio)
|
|
├── node-red # Script para iniciar/detener el servicio
|
|
├── nodes/ # Nodos personalizados para Node-RED
|
|
├── public/ # Archivos estáticos para la interfaz de usuario
|
|
└── tests/ # Pruebas unitarias y de integración
|
|
```
|
|
|
|
## 🚀 Uso
|
|
|
|
### Instalación Inicial
|
|
|
|
1. Instale las dependencias: `npm install`
|
|
2. Configure las variables de entorno en `.env`
|
|
3. Cree el directorio de flujos: `mkdir -p flows`
|
|
|
|
### Iniciar el Servicio
|
|
|
|
#### Modo Desarrollo
|
|
```bash
|
|
# Iniciar Node-RED en modo desarrollo (interactivo)
|
|
node-red --userDir ./flows
|
|
|
|
# Para especificar un puerto diferente
|
|
node-red --userDir ./flows -p 1881
|
|
```
|
|
|
|
#### Modo Servicio (Producción)
|
|
```bash
|
|
# Instalar PM2 (si no está instalado)
|
|
npm install -g pm2
|
|
|
|
# Iniciar Node-RED como servicio
|
|
pm2 start node-red -- --userDir ./flows -p 1880
|
|
|
|
# Ver estado del servicio
|
|
pm2 status
|
|
|
|
# Ver logs
|
|
pm2 logs node-red
|
|
```
|
|
|
|
### Detener el Servicio
|
|
|
|
```bash
|
|
# Si se ejecuta en modo interactivo
|
|
Ctrl+C
|
|
|
|
# Si se ejecuta como servicio PM2
|
|
pm2 stop node-red
|
|
```
|
|
|
|
### Acceso
|
|
|
|
Acceda a la interfaz de Node-RED en: http://localhost:1880
|
|
|
|
## 📊 Flujos Implementados
|
|
|
|
### Cooperativas Leads
|
|
Flujo automatizado para extraer información sobre cooperativas registradas en Panamá desde el sitio web oficial del IPACOOP.
|
|
|
|
**Funcionalidad:**
|
|
- Extracción de datos mediante web scraping
|
|
- Procesamiento de tablas HTML para obtener información estructurada
|
|
- Transformación de datos para uso en servicios o análisis
|
|
|
|
**Datos extraídos:**
|
|
- Nombre de la cooperativa
|
|
- Número de registro o identificación
|
|
- Ubicación geográfica (provincia/distrito)
|
|
- Tipo o clasificación de cooperativa
|
|
|
|
**Formato de salida:**
|
|
- Archivo CSV (coops_507.csv)
|
|
- Codificación estándar para integración con otros sistemas
|
|
|
|
**Fuente de datos:** [IPACOOP - Listado de Cooperativas](https://ipacoop.gob.pa/listado-de-cooperativas-obligadas/)
|
|
|
|
### Industrias Leads
|
|
Flujo para procesar y normalizar datos de industrias manufactureras en Panamá.
|
|
|
|
**Funcionalidad:**
|
|
- Lectura de datos desde archivo CSV crudo
|
|
- Limpieza y normalización de información
|
|
- Extracción inteligente de datos de contacto mediante expresiones regulares
|
|
- Estructuración de datos empresariales
|
|
|
|
**Datos procesados:**
|
|
- Nombre de empresa
|
|
- Sector industrial
|
|
- Productos/servicios
|
|
- Tamaño de empresa
|
|
- Número de empleados
|
|
- Ubicación
|
|
- Información de contacto (teléfono, email)
|
|
- Presencia digital (sitio web, redes sociales)
|
|
|
|
**Formato de salida:**
|
|
- Archivo CSV (mfg001_507.csv)
|
|
- Datos normalizados y estructurados para uso en mercadeo
|
|
|
|
**Fuente de datos:** MICI - Directorio de Empresas (datos preexistentes)
|
|
|
|
## 🔍 Prerrequisitos
|
|
|
|
- Node.js 18.x o superior
|
|
- NPM 8.x o superior
|
|
- Permisos para instalar paquetes globales (opcional)
|
|
|
|
## ⚙️ Configuración
|
|
|
|
Para configurar el entorno de desarrollo, siga las instrucciones en [docs/setup.md](docs/setup.md).
|
|
|
|
## 📄 Licencia
|
|
|
|
Este proyecto está protegido por derechos de autor (Copyright). Todos los derechos reservados.
|
|
Ver el archivo [LICENSE.md](LICENSE.md) para más detalles.
|
|
|
|
## 👥 Autores
|
|
|
|
- **Mauro Rosero P.** - Desarrollador Principal - [mauro@rosero.one](mailto:mauro@rosero.one)
|
|
|
|
---
|
|
|
|
Generado con MRDevs Tools © 2025
|