Skip to content

Easily create data-driven web UI's for Node-RED. Single- & Multi-page. Multiple UI's. Work with existing web development workflows or mix and match with no-code/low-code features.

License

Notifications You must be signed in to change notification settings

TotallyInformation/node-red-contrib-uibuilder

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Discussion Documentation Ask DeepWiki Sponsor

NPM Version NPM Total Downloads NPM Downloads per month GitHub last commit GitHub stars GitHub watchers GitHub license Min Node Version Package Quality DeepScan grade CodeQL Open Issues Closed Issues

UIBUILDER FOR Node-RED

Easy data-driven web UI's. Batteries included!

UIBUILDER is a Node-RED add-on that makes it easy to build custom web UIs that talk to your flows (web applications). It supports no-code & low-code nodes (create UI from Node-RED itself), full-code front-end templates you edit, and everything in between.

No-code and Low-code options, driven from Node-RED || Dynamic data interchange Node-RED <--> browser || No front-end framework needed but use any of them if you want to || Integrate with existing web development workflows

It includes many helper features that can reduce or eliminate the need to write code for building data-driven web applications and user interfaces integrated with Node-RED.

Installation

UIBUILDER is best installed using Node-RED's Palette Manager.

Manual installs and other versions

To install manually, from a command line on your Node-RED server:

cd ~/.node-red
npm install node-red-contrib-uibuilder

To install old versions, provide the major version number:

cd ~/.node-red
npm install node-red-contrib-uibuilder@v5

To install development branches, please install from GitHub. Branchnames are usually future version numbers, check GitHub for available branches:

cd ~/.node-red
npm install totallyinformation/node-red-contrib-uibuilder#v7.1.0

You will need to restart Node-RED if installing manually.

Quickstart Guide

For a super-quick start, once installed, please see the Getting Started guide.

For more guidance, check out the First-timers walkthrough and the Introduction Video.

Also try out the built-in example flows (via the Node-RED Import menu).

Documentation and other links

Refer to the Documentation web site. This can also be accessed from within UIBUILDER nodes even without an Internet connection.

There is a library of "official" video tutorials on YouTube. Other folk have also produced UIBUILDER-related content.

The Node-RED Forum has a dedicated UIBUILDER tag for questions, discussions, ideas, support, examples and FAQ's.

You can use the GitHub issues log for raising issues.

There is also a dedicated Discord channel.

Purpose

The purpose of UIBUILDER is to:

  • Support easy methods for creating and delivering data-driven web apps and web pages (also known as web User-Interfaces).
  • Be a conduit between Node-RED and front-end (browser) UI web apps.
  • Be UI framework agnostic. No framework is needed to use UIBUILDER but it will work with them where desired. UIBUILDER aims to reduce the requirement for a framework by making it easier to work with vanilla HTML/CSS.
  • Provide interface/data standards for exchanging data and controls between Node-RED and the web pages.
  • Enable the creation and management of multiple web apps from a single Node-RED instance.
  • Reduce the amount of front-end code (HTML/JavaScript) needed to create and manage a web app.
  • Reduce the knowledge required for creating reliable, accessible web apps by providing low-code and no-code features. But still ensure that any learning is applicable to general web development.
  • Make it easy to install and serve front-end libraries to support the development of more complex web apps.

Compatibility of current release

  • Servers:
    • Node-RED: v4+
    • Node.js: v18+ LTS (matches Node-RED v4+ requirements)
    • Platforms: Linux, Windows, MacOS, Raspberry Pi, Docker, FlowFuse, etc.
  • Browsers:
    • CSS - 0.12% or above of global usage but not Internet Explorer (ref.). The uncompiled CSS should work in all current mainstream browsers. The compiled CSS (uib-brand.min.css) should work in browsers back to early 2019, possibly before. Enforced by LightningCSS.
    • JavaScript - ES6+ so should work in all current mainstream browsers. The compiled JS (uibuilder.min.{iife|esm}.js) should work in browsers back to early 2019, possibly before. Enforced by ESBuild. Script (IIFE) and Module (ESM) versions are provided.

Updates

The current CHANGELOG contains all of the changes and requirement details for each version.

Older changes can be found in the previous change documents: CHANGELOG-V5, CHANGELOG-V5, CHANGELOG-V3/V4, CHANGELOG-v2, and CHANGELOG-v2.

Other links

Contributing

If you would like to contribute to this node, you can contact Totally Information on the Node-RED Forum, via GitHub, or on Discord or raise a request in the GitHub issues log.

Pull Requests both for code and documentation are welcomed and the WIKI is open to new entries and corrections (but please let me know if you make a change).

Please refer to the contributing guidelines for more information.

You can also support the development of UIBUILDER by sponsoring the development.

ko-fi

GitHub Sponsorship, PayPal Sponsorship, Patreon Sponsorship

Sponsors

Developers/Contributors

Many other people have contributed ideas and suggestions, thanks to everyone who does, they are most welcome.

profile for Julian Knight on Stack Exchange, a network of free, community-driven Q&A sites

Please also check out my blogs:

  • Totally Information's Web Log, "Ramblings by Julian Knight on all things Digital, Technology and Life". This is my new blog. It will have articles on Node-RED, web development, hardware reviews and more.
  • Much Ado About IT, it has information about all sorts of topics, mainly IT related, including Node-RED. This is no longer being updated but it will be retained for reference.