Front-end for the rosie module.
This application represents the visual interaction with the rosie module. It provides a way of controlling multiple rosie running robots in a user friendly way.
-
Simple user interface
The user interface is designed to be simple, full featured and easily extensible, it uses React, Material-UI and Redux to achieve this funtionality.
-
Touch support
The page uses nipplejs to provide user control over the robot in touch devices.
-
Single packaged binary
The server of the application is implemented in Go, so you just need to run a single binary file.
This application uses go to serve the static files and also to autodiscover rosie. All the files needed can be packaged into a single binary file. In order to build the server run:
$ npm run build
This runs webpack with the production configuration (webpack.config.prod.js
), which creates all the static files, and then builds the go application.
Alternatively, you can build a development version, this doesn't package the static files, instead, it loads them from disk:
$ npm run build:dev
To run the tests, use the following command. It runs the Mocha test-suite for the JavaScript app.
$ npm run test
You can also run the JavaScript tests in watch mode by passing an additional
flag into the npm run-script
command.
$ npm run test -- -w
This enables that TDD sweetness, allowing you to focus on feeding the red-to-green beast.