I'm Thodoris Ioannidis and I'm a full stack blockchain developer. I've been using Node-RED for the past year and I 'm the author of various nodes ( Blue-Sec Nodes (collection), node-red-contrib-json-logic, node-red-contrib-mcdm) for Node-RED as well as CLI tools to help with the development of new nodes (nodered-node-incubator).
While developing these tools, and for my MSc Digital Systems Security thesis, I experimented on how to introduce gamification to the learning curve of Node-RED and create a fast and easy way to interact with modules, flows and subflows. My aim was to create a gamified training method, which would involve playing objectives and solving tasks, using gamified Storylines focused at various topics for Node-RED.
This led to the development of Flowchain Champions, a gamification server for Node-RED featuring an enhanced version of the tutorials Cookbook, playable gamified Storylines and a Fabricator tool to provide a quick and easy boilerplate code for new Nodes.
The platform is developed with Bun as an ElysiaJS server with a React SAP for the game front-end, featuring a locally embedded database with the level module to keep track of player profiles, their progress and new recipes and storylines.
The server's main focus is on Node-RED training and gamification with flow-programming exercises:
- The Cookbook has been enhanced to a more modular version that provides compact use-cases of flow-programming and importable flow examples that you can interact with seamlessly. The server features around 50+ recipes, while new ones can be easily crafted.
- The Storylines is where gamification comes to play, these are bundled challenges that a player can solve for a specific Node-RED topic or concept. Right now the server features a small number of them, but new ones can be very easily developed from the menu.
- The Fabricator tool was made complementary to node-incubator, so you can visually create a new node's appearance and basic internal logic, export the definitions of it and fit them directly in the incubator's project structure
Right now the gamification server is available as docker image: Docker
Here are the steps to setup and play with it:
- Pull the image:
docker run -p 3000:3000 -d captainflin/flowchain_playground
- Run a Node-RED instance:
- Connect to http://localhost:3000
- In the Home screen you will find a login form to the server, this is just for profile and progress keeping (saved locally inside leveldb of the server). Just put a username and password for the server to create a player profile for you, here are some default credentials just in case:
- username: player
- password: 12345678
Click Create to make your player profile, then Login to connect to it and you're good to go! The same credentials can be used to reconnect to your player profile for future logins. Choose the "Playground" mode from the Home screen and from there you can find all the available features. You can look into HowTo for more info on the Node-RED setup as well as each feature of the Playground and Settings if you want to setup an alternative NR instance for the server to connect to.
I'm planning to upload and open-source the project on github and create a 1.0.0 tag for the current stable build. The next version will feature several new Recipes and Storylines along with another mode for flow tokenization.
Any feedback is welcome and much appreciated.
Have an awesome day, hope you enjoy it!