Software to control Scinomix Pump. Keeps track of current state and saved configurations. UDP protocol and REST API to start/stop and configure pump. Written in C++ and Node.js and runs on Beaglebone. Web app written in React to allow user to configure/run pump from a browswer.
Pump application runs C++ and Node.js program at startup of Linux OS. C++ program listens for UDP commands to start/stop and configure pump. Node.js program consumes REST requests to start/stop and configure pump. Node.js connects to C++ using native addons with N-API. Node.js REST API uses basic auth with JSON web tokens. Web app made with React js to allow user to log in, configure, and start pump from local web app. Web app uses the REST API and requires authentication. Can be configured to use HTTP or HTTPS. Wrote documentation outlining protocols, architecture, etc.