Skip to content

Generate pure functional stream processing applications from Node-RED exports.

License

Notifications You must be signed in to change notification settings

striot/striot-gui

 
 

Repository files navigation

StrIoT GUI

Allows for Haskell-based pure functional stream processing in the Node-RED tool, utilising the StrIoT system to generate stream processing programs from Node-RED exports.

With the nodes added in the StrIoT Nodes package, you can define pure functional stream processing using the Node-RED interface. This tool then takes the export from Node-RED and generates the full code for the application.

Once installed, using the program is as simple as running striot-gui-exe /path/to/your/node-red/export in the terminal.

Features:

  • Use just one command to generate stream processing applications from a Node-RED export.
  • Supports all nodes added by the StrIoT Nodes project.
  • Utilises the StrIoT system for program generation.

Getting Started

Prerequisites

Recommended for generating Node-RED output for the StrIoT system:

Installation

Firstly, clone the repository:

git clone https://github.com/JonnySpruce/striot-gui.git

The project uses the Haskell tool Stack, and so can be built using the command stack build in your terminal (first cd to the cloned directory).

You can then use stack install to add striot-gui to your path, if desired.

Running

StrIoT GUI takes an exported Node-RED project as a JSON file, and uses StrIoT to generate the relevant Haskell files and Docker files. Only nodes added by the StrIoT Nodes project are supported, the default nodes in Node-RED should not be used.

If you have added the project to your path (as described in the Installation section), simply execute the command by running the following command:

striot-gui-exe /path/to/your/node-red/export

If you have not used stack install, you can still run the program from the root directory of the project using the following command:

stack exec striot-gui-exe /path/to/your/node-red/export

Note: The path you provide must be an absolute path, relative paths are not currently supported.

There will now be two new directories in your current location - node1 and node2. These directories contain all the code generated by StrIoT.

Contributing

All contributions are welcome! Any work on the issues raised in the issue tracker is always greatly appreciated. Alternatively, if you have a feature that you would like to add or a bug that you'd like to fix which isn't mentioned in the issue tracker, feel free to create a new issue to discuss it.

For any pull request which adds new code, tests should also be included. All tests must pass before code can be merged.

Testing

The tests are written using Hspec, and can be run locally with the command stack test.

Bugs & Feature Requests

If you're having an issue with the tool or have a feature request to add, please feel free to raise an issue in the issue tracker.

About

Generate pure functional stream processing applications from Node-RED exports.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Haskell 100.0%