- Añadida mención explícita de Claude Code en sección de tecnologías - Creada nueva sección de "Asistencia de IA" en README - Incorporado Claude como co-autor en la lista de autores - Actualizado CHANGELOG con indicadores visuales (🤖) para contribuciones asistidas - Incrementada versión a 0.6.0 con documentación actualizada - Implementada política de transparencia sobre uso de IA 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
6 KiB
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 y Plataformas
Framework Principal: Node-RED v4.0.9
Plataforma: Node.js
Extracción de Datos: Browse AI, Web Scraping Directo
Análisis de Contenido: HTML Parser, Expresiones Regulares
Procesamiento: Transformación JSON/CSV, Normalización de Texto
Almacenamiento: Archivos CSV Locales
Asistencia de IA: Claude Code (claude-3-7-sonnet-20250219)
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
- Instale las dependencias:
npm install
- Configure las variables de entorno en
.env
- Cree el directorio de flujos:
mkdir -p flows
Iniciar el Servicio
Modo Desarrollo
# 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)
# 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
# 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
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)
🛠️ Herramientas de Procesamiento
El proyecto utiliza varias herramientas especializadas para el procesamiento de datos:
Extracción de Datos
- Web Scraping Directo: Utilizando nodos HTTP y HTML para obtener datos del sitio de IPACOOP
- Browse AI: Plataforma de automatización para scraping que facilita la extracción de datos estructurados de sitios complejos
Procesamiento de Datos
- HTML Parser: Extracción y manipulación de tablas y elementos HTML
- Expresiones Regulares: Identificación de patrones para emails, teléfonos y URLs
- Normalización de Texto: Capitalización adecuada, eliminación de espacios innecesarios
- Validación de Datos: Verificación de formatos para información de contacto
Fuentes de Datos
- IPACOOP: Instituto Panameño Autónomo Cooperativo (datos de cooperativas)
- MICI: Ministerio de Comercio e Industrias (directorio de empresas)
Gestión del Servicio
- Script Personalizado: Facilita el inicio/detención del servicio de Node-RED
- PM2: Para ejecución como servicio en producción
🔍 Prerrequisitos
- Node.js 18.x o superior
- NPM 8.x o superior
- Permisos para instalar paquetes globales (opcional)
- Cuenta en Browse AI (para el flujo de industrias)
⚙️ Configuración
Para configurar el entorno de desarrollo, siga las instrucciones en docs/setup.md.
📄 Licencia
Este proyecto está protegido por derechos de autor (Copyright). Todos los derechos reservados. Ver el archivo LICENSE.md para más detalles.
👥 Autores
- Mauro Rosero P. - Desarrollador Principal - mauro@rosero.one
- Claude - Asistente de IA - Contribuciones significativas en flujos de normalización de datos y documentación
🤖 Asistencia de IA
Este proyecto ha sido desarrollado con la asistencia de Claude Code (claude-3-7-sonnet-20250219). Siguiendo la política de transparencia en el uso de IA, todas las contribuciones asistidas están debidamente atribuidas en los mensajes de commit y en este documento.
Generado con MRDevs Tools © 2025 | Asistido con Claude Code