The web interface presents the current state of system, settings and graphs to the user.

You’ll be in charge of building our a new dashboard, based on React/Redux or Vue/Vuex (JavaScript). Other developers will handle firmware and most server side code.

In the firmware on our brewing controller, we have created a modular framework to manage and interface control objects (sensors, actuators, controllers, valves, pumps, etc.). The brewer can create and link many of these objects to form complex control schemes. The new dashboard should offer a user friendly way of doing this.

Some features of this new dashboard will be:

Drag and drop interface for building control schemes and brewing setups

Notable Replies

I evaluated angular and react.js and react seemed to fit better. I made a prototype with React and it worked well with the app requirements.

Recently @mdma brought Vue.js to my attention, combined with Vuex it might offer a similar experience.The things I liked from React/Redux: One way data binding, async behavior with sagas, modular components and only re-rendering what is needed automatically.

If you think there's a better choice than React, feel free to speak up. It's not set in stone.

We recently transitioned our platform at work from Angular to React, with Redux. It takes a bit to get going, but the modular approach and separation of concerns making it very productive once you get the framework in place.

I haven't looked at Vue.js, but I would be cautious currently about the stability and maturity of a lot of the platforms, react included.