Pizza-Kitchen monitoring (KDS) with NR?

[offtopic]
I just wonder, if you guys think it would be possible to create a dynamic dashboard that would run a ticket-system on some tablets + Raspberry Pi with 1-2 big Touch-screens?

It would need to handle:

  • click on tickets (Maybe Drag&Drop)
  • popups
  • dynamic coloring
  • different filtering of tickets for the separate kitchen-areas (1.pizza / 2.meat / 3.salad / 0.all )

Why Node-Red?

  • I started to use it a year ago and I really love it!
  • NR can handle AngularJS, and possibly other web-protocols too...
  • It would allow to connect many other things (like a kitchen push-button, or a bell ...)
  • My Delphi-7 pizza-program can not handle modern web-systems well, but it would be easy to connect to a NodeRed flow.
  • NR can run as a portable app too ! No need to install, just auto-download and start.
    ( Home · sakazuki/node-red-desktop Wiki · GitHub )
  • With simple HTTP-XML push/get or direct UDP port or MQTT.... don't know yet, but many 2-way communication possibilites)

As far as i can see, it is possible to code even a mini-game with NR: Profile - HaroldPetersInskipp - Node-RED Forum

So what you recommend?

  • should I drop the whole idea?
  • use something else for that? (Like htttps://n8n.io)
  • or is it easy to solve with NR ?

I know these systems as KDS - Kitchen Display Systems. I once got invited to support the development of a similar system but turned the invitation down as it would require web programming beyond my skills. I could have accepted the challenge, doing it in Node-RED if I could spare time to learn some framework like Vue or Svelte. I think it would be perfectly doable using Node-RED + UI Builder.

3 Likes

Thanks for the clarification. Yes KDS is the new name for it since a few years.
I've searched for Vue / Svelte / Angular .. and found this:

So the logical choice would be maybe Svelte, but Angular is already present as UI, so maybe it would be easier to implement. ( Although the article says Angular is 7x more hard to learn, and it is not MIT licensed, so it could complicate things too. )

My problem is similar to Yours:

  • I have no experience with Web-development.

I guess it would be better, if the community here would decide which framework will be used for the next-gen Dashboard UI, and use it too.

Looking at this topic, it seems it is possible without any framework too:

Hi, yes you can do this without any framework, especially if you know that you will only be using modern browsers. Indeed, you could use the new HTML module features which can offer some of the features only previously available in web frameworks.

Of course, doing it all without a framework will require some additional web development skills.

Remember that the purpose of uibuilder is to create a "glue" between Node-RED and your front-end code. It manages the communications for you and helps with serving up front-end libraries. The idea is to make it really easy to have a data-driven web user interface.

So you can use any or no front-end library.

I would say though that VueJS is about the easiest of the mainstream frameworks. If you want to get going quickly and don't have any other specific experience, that would probably my first choice.

Svelte is a really nice framework however, it requires a build step which is another thing that you have to learn to work with. Not especially hard and once you've got it working, it is nice. But a little extra overhead if you want to get going quickly.

While I'm not great web programming expert, personally I would steer clear of all of the other frameworks as they seem to me to be far too complex. Had another play with REACT the other day and I was horrified at how much more complex it is than VueJS. I'm sure they have their own strengths though and if you are familiar with them, uibuilder won't really care :grinning:

One thing I do recommend though, for serious work, don't bother with uibuilder's editor. That is great for quick changes and that's how I use it. For actual development of a UI, I use VScode's remote editor extension which is much nicer to work with.

1 Like

This could absolutely be done, and sounds like a great use for node-red.