Plataforma de servicios web basada en Node-RED para orquestación y automatización de servicios WEBAPI.
Find a file
2025-04-01 21:12:19 -05:00
.node-red [IMPROVED] Integración de módulos MQTT y Dashboard en Node-RED 2025-04-01 21:11:00 -05:00
docs [INIT] Proyecto webservices 2025-03-23 12:41:39 -05:00
.gitignore [IMPROVED] Integración de flujos y estructuración del proyecto 2025-03-28 01:02:18 -05:00
.gittype [INIT] Proyecto webservices 2025-03-23 12:41:39 -05:00
.license [INIT] Proyecto webservices 2025-03-23 12:41:39 -05:00
.protype [INIT] Proyecto webservices 2025-03-23 12:41:39 -05:00
CHANGELOG.md [IMPROVED] Implementación de política de atribución IA en documentación 2025-03-28 01:15:45 -05:00
CLAUDE.md [IMPROVED] Política de atribución para Claude Code 2025-03-28 01:11:57 -05:00
LICENSE.md [ADDED] CHANGELOG.md and LICENSE.md with proprietary license 2025-03-23 15:46:37 -05:00
node-red [FIXED] Excluir archivos de log en .gitignore 2025-03-24 07:16:50 -05:00
package-lock.json [INIT] Nuevo proyecto WEBSERVICES (Nodered) 2025-03-23 15:33:23 -05:00
package.json [INIT] Nuevo proyecto WEBSERVICES (Nodered) 2025-03-23 15:33:23 -05:00
README.md [IMPROVED] Implementación de política de atribución IA en documentación 2025-03-28 01:15:45 -05:00
RELEASE.md [ADDED] Documentación de release v0.6.0 2025-03-29 04:51:37 -05:00

WebServices con Node-RED

License Status 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

  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

# 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