# 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.

## 🔧 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
├── flows/              # Archivos de flujos Node-RED
│   ├── flows.json      # Definición principal de flujos
│   └── flows_cred.json # Credenciales de flujos (no incluido en el repositorio)
├── 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

## 🔍 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
