webservices/README.md
Mauro Rosero P. bc03b5bead
[IMPROVED] Flujo de Industrias Leads y documentación completa
- 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>
2025-03-26 17:21:04 -05:00

149 lines
4.1 KiB
Markdown

# WebServices con Node-RED
![License](https://img.shields.io/badge/License-Copyright-darkred.svg)
![Status](https://img.shields.io/badge/Status-En%20Desarrollo-yellow)
![Node-RED](https://img.shields.io/badge/Node--RED-v4.0.9-red.svg)
## 📋 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