MakiBox host software primary written in Go, with the UI / client code written in HTML/CSS/Javascript
src/ contains the code corresponding to the device(s) and communications (i.e. serial / USB / websocket), while the core is maintained in 5DPrint.go. The core consists of the backend server that will launch a device listener, a websocket listener and the users default browser while mantaining go channels for communications between the devices and client(s).
Please note that the currently tested / supported browsers are the stable builds of Chrome and Firefox. This will change, but for the early stages this is what we're using.
###The Device Listener### The device listener has the duty to continuously loop and check for the attachment of a device. When a recognizable device is connected, it will store a proper reference and notify the client (the frontend UI) that a new device is attached.
Please note in the early releases we're only assuming the MakiBox A6 is attached and the code will have some odd references as such
###Web UI### The UI is kept in the directory ui/default and coded in modern web standards in order to allow for easy modifications and a friendlier cross-platform starting point.
##Goals // TODO's##
- tokenized api to allow for other applications to connect (i.e. mobile devices, other computers on the same network)
- update the core to maintain all the communications via go channels
- include / work in the Chromium Embedded Framework (CEF)
- generalize the device code more to allow for configurable device modules in order to include other printers / devices instead of just the A6