Node-RED is a flow-based, low-code programming environment for event-driven applications, primarily used in IoT, home automation, and API integration. The runtime is a Node.js server that manages a visual editor (browser-based) and a set of built-in nodes for common operations (HTTP, MQTT, file I/O, data transformation, etc.). The architecture is a modular monorepo with packages for the runtime, editor API, editor client, node registry, core nodes, and shared utilities. Flows are JSON configurations that define a graph of connected nodes, executed event-driven via message passing. The system supports plugins, subflows, context storage (with pluggable backends), projects with Git integration, and authentication strategies.
Nodify is a production-grade WPF library for building node-based graph editors. It provides a comprehensive set of custom controls (NodifyEditor, ItemContainer, Connector, various connection types, Minimap, GroupingNode, StateNode, etc.) along with a sophisticated input processing system based on composable state machines. The library is designed for MVVM, exposes rich command and event hooks, and supports full theming with dark/light/Nodify themes. The codebase demonstrates high craftsmanship in its input state machine pattern (InputProcessor/InputElementStateStack), undo/redo framework (ActionsHistory), gesture customization system (EditorGestures), and performance optimizations (BoxValue, connector safe-zone hit-testing). It ships with five example applications (Calculator, Playground, Shapes, StateMachine, Workflow) that showcase real-world usage patterns including sub-workflows, real-time collaboration simulation, and undo/redo. The library targets a wide range of .NET frameworks from .NET Framework 4.7.2 through .NET 10 preview, with CI builds and NuGet publishing pipelines. Despite a large API surface and some mutable global settings, the code is well-organized, extensively documented, and actively maintained.