Gobernanza arquitectónica simplificada: Construyendo un catálogo de aplicaciones con NocoBase

Este artículo tiene como objetivo demostrar el potencial y la facilidad de uso de NocoBase para el desarrollo de aplicaciones web sin código. Como estudio de caso, crearemos un directorio de aplicaciones para apoyar la gobernanza arquitectónica, utilizando características de NocoBase como el modelado, la instalación, la creación de tablas, menús, formularios, gráficos y flujos de trabajo.

¿Qué es NocoBase?

NocoBase es una plataforma de código abierto, escrita en JavaScript y basada en NodeJS, TypeScript y AntDesign, diseñada para crear aplicaciones personalizadas sin necesidad de escribir código. Es una solución backend de bajo código que permite crear tablas, formularios personalizados, automatización de flujos de trabajo e interfaces personalizadas de forma visual.

Características principales de NocoBase:

  • Comunidad activa: Un foro muy dinámico para el desarrollo de plugins y la resolución de problemas.
  • Código revisado continuamente: Actualizaciones y contribuciones frecuentes en GitHub, con más de 13k estrellas.
  • Compatibilidad con bases de datos: Soporta bases de datos relacionales principales como Postgres y MySQL.
  • Modelado de datos visual: Definición visual de tablas y datos usando el plugin Main Database.
  • Amplia biblioteca de plugins: Ofrece una variedad de plugins gratuitos y de pago, con soporte para desarrollar plugins personalizados.

Estudio de caso: Portal de Arquitectura

Para mostrar algunas funcionalidades de NocoBase, crearemos un estudio de caso llamado Portal de Arquitectura. Este portal tiane como objetivo organizar datos relacionados con aplicaciones empresariales, con las siugientes capacidades:

  • Catálogo de aplicaciones.
  • Recordatorios de actualización, como upgrades de versión y renovaciones de certificados.
  • Catálogo de APIs para sistemas empresariales.
  • Gráficos de visualización de datos.

Pasos de desarrollo

Modelado de datos

El primer paso es mapear y definir los campos que se incluirán en el portal de arquitectura. A continuación se muestra un ejemplo:

1. Catálogo de Aplicaciones

Aplicaciones:
id: Identificador único.
nombre: Nombre de la aplicación.
descripción: Descripción detallada de la aplicación.
pila_tecnológica: Tecnologías utilizadas.
propietario: Persona o equipo responsable.
fecha_creación: Fecha de creación.
última_actualización: Fecha de la última actualización.

Recordatorios (vinculados a Aplicaciones):
id: Identificador único.
aplicación_id: Referencia a la aplicación.
tipo: Tipo de recordatorio (ej., actualización de versión, renovación de certificado).
descripción: Descripción del recordatorio.
fecha_programada: Fecha programada para el recordatorio.
estado: Estado (ej., Pendiente, Completado).

2. Catálogo de APIs

APIs:
id: Identificador único.
aplicación_id: Referencia al sistema correspondiente.
nombre: Nombre de la API.
descripción: Descripción funcional de la API.
url_documentación: Enlace a la documentación oficial.
última_actualización: Fecha de la última actualización.
versión: Versión actual.

Instalación de NocoBase

Para la instalación y configuración, elegimos la versión local que utiliza Docker. Otras opciones de instalación incluyen npm o desde el código fuente de Git.

El siguiente es el código de configuración YAML para Docker Compose. Después de instalar Docker, navegue hasta el directorio donde se encuentra el archivo YAML y ejecute el siguiente comando:

docker compose up -d

Esto iniciará NocoBase en su máquina, con el puerto predeterminado 13000. Abra en su navegador http://localhost:13000. Las credenciales de inicio de sesión predeterminadas son admin@nocobase.com y admin123.

version: '3'

networks:
  red_nocobase:
    driver: bridge

services:
  aplicacion:
    image: nocobase/nocobase:beta
    networks:
      - red_nocobase
    depends_on:
      - base_datos_postgres
    environment:
      - ClaveSecreta=su-clave-secreta
      - DialectoBD=postgres
      - HostBD=base_datos_postgres
      - NombreBD=nocobase
      - UsuarioBD=nocobase
      - ContrasenaBD=nocobase
      - TZ=America/Santiago
    volumes:
      - ./almacenamiento:/app/nocobase/storage
    ports:
      - '13000:80'

  # Si se utiliza un servidor de base de datos existente, el servicio postgres puede omitirse
  base_datos_postgres:
    image: postgres:16
    restart: always
    command: postgres -c wal_level=logical
    environment:
      POSTGRES_USER: nocobase
      POSTGRES_DB: nocobase
      POSTGRES_PASSWORD: nocobase
    volumes:
      - ./almacenamiento/db/postgres:/var/lib/postgresql/data
    networks:
      - red_nocobase

Creación de tablas y datos

Usando el plugin Administrador de Fuente de Datos, se pueden crear colecciones (tablas) y definir campos. Esto se puede implementar fácilmente según el modelo anterier.

Creación de menús

Haciendo clic en el ícono de lápiz a la derecha de la pantalla, se pueden crear menús superiores y laterales. Podemos configurarlos según el ejemplo mostrado.

Creación de formularios

La creación de formularios (CRUD) también es muy sencilla. NocoBase utiliza componentes de bloque para crear tablas, formularios, páginas de detalle, listas, gráficos, tarjetas, etc. Después de seleccionar el tipo de bloque, solo necesita elegir la colección (tabla) a la que vincular el bloque. Los componentes vinculados a la colección se generan automáticamente. Cada bloque tiene su propia configuración personalizada independiente.

Creación de gráficos

Construir gráficos es igualmente simple. Solo necesita agregar un bloque de tipo "gráfico" y seleccionar la colección (tabla) que desea usar como fuente de datos. Una vez seleccionado el bloque, puede configurar las propiedades del gráfico, como métricas, agrupaciones, filtros, tipos de gráficos y títulos, entre otras opciones.

Creación de flujos de trabajo programados

NocoBase permite crear flujos de trabajo automatizados mediante eventos para realizar múltiples tareas. Hay tres tipos de activadores: Evento de Colección, Evento Programado y Evento de Post-Acción. Con estos activadores, se pueden crear diversas operaciones dentro del sistema, como enviar notificaciones, insertar datos en otras tablas o enviar solicitudes a APIs externas.

En nuestro caso, crearemos un flujo de trabajo para enviar notificaciones en la fecha del recordatorio. Este flujo de trabajo usa un Evento Programado que se ejecuta diariamente a una hora específica.

Además de configurar el horario, es necesario configurar el flujo de trabajo para consultar la colección de Recordatorios, extraer los recordatorios del día, iterar sobre cada uno y enviar una notificación para cada recordatorio. El proceso es sencillo: solo haga clic en el botón "+" para agregar estas acciones y configurarlas.

Una vez configurado, simplemente active el flujo de trabajo haciendo clic en el botón "Encendido" en la esquina superior derecha. Para ver los resultados de la ejecución, haga clic en el botón "..." en la esquina superior derecha y seleccione Historial de Ejecuciones.

Este estudio de caso demuestra la amplia gama de funcionalidades que ofrece NocoBase. Es flexible para el desarrollo de aplicaciones de diferentes escalas y necesidades, e incluye soporte para gestión de archivos, internacionalización, móvil y edición de temas. Los usuarios también pueden desarrollar sus propios plugins o adquirir plugins comerciales del marketplace.

Etiquetas: nocobase sin-código Docker postgres gobernanza-arquitectónica

Publicado el 6-13 03:21