Skip to content

Latest commit

 

History

History
68 lines (49 loc) · 2.81 KB

File metadata and controls

68 lines (49 loc) · 2.81 KB

Reactive Trader Cloud - UI

The trading client GUI is a single page app (SPA) build using JavaScript vNext (i.e. Ecmascript 6 transpiled with babeljs.io).

High level technologies

  • Html, javascript, css etc is built (i.e. transpiled and bundled) with webpack. Script targets in package.json kick off webpack, tests etc.
  • Tests use Karma & Jasmine.
  • Streaming data abstractions are build with RxJs.
  • GUI state management is done with esp-js, a scalable state management library that puts your model at the forefront of the design. It works well with uni directional data flow architecture.
  • Connectivity to the backend is done via AutobahnJs.
  • Styles build using Sass.

Machine Setup

Please ensure you have Node(>=v5), npm(>=v3.5) and Git installed on your machine and on your path.

Mac

There are no additional packages to install other than Git and a recent build of Node.

Linux

You might want to increase the limit on the number of files Linux will watch. Here's why.

echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p

Windows

  1. Install the C++ Compiler. Visual Studio Express comes bundled with a free C++ compiler. Or, if you already have Visual Studio installed: Open Visual Studio and go to File -> New -> Project -> Visual C++ -> Install Visual C++ Tools for Windows Desktop. The C++ compiler is used to compile browser-sync (and perhaps other Node modules).

Starting the GUI

Clone the repo and install the necessary node modules:

npm install  # Install Node modules listed in ./package.json
npm start    # Compile and launches the webpack dev server

You can then browse the app at http://localhost:3000

Additional command line options

npm run dev

Same as npm run start, runs the webpack build system with webpack-dev-server (by default found at http://localhost:3000).

npm run test

Runs unit tests with Karma and Jasmine.

npm run test:dev

Similar to npm run test, but will watch for changes and re-run tests.

npm run lint

Run ESLint against all .js files in ~/src. Note the linter also runs by default during normal dev watch build (npm run dev).

npm run deploy

Run webpack using the webpack config.