StockFlux is a desktop application developed by Scott Logic that uses the OpenFin HTML5 container.
Here are a few things to try:
- Add and remove stocks via the search pane
- Drag tiles within the favourites pane to re-order them
- Drag a tile outside of the favourites pane to create a new application window
- Re-open recent windows via the icon at the bottom right of the favourites pane
- Use the icon on the top right of the title bar to toggle 'collapsed' mode
In order to install the application, download StockFlux installer zipfile, unzip and run the executable. If you haven't already installed an OpenFin application, this will install the required runtime. It'll also add shortcuts to StockFlux to your desktop and start menu.
This is an 'evergreen' application, each time it launches the application code is downloaded (from GitHub pages), ensuring that it is always up-to-date.
The application is built using React and ES2015, transpiled via Babel. The charts are rendered using d3fc, a Scott Logic open source project which provides a number of components that allow the creation of bespoke interactive charts. The bulk of the charting code is adapted from BitFlux, which showcases the capabilities of d3fc.
When working locally, make sure you set the environment variable
QUANDL_API_KEY representing the Quandl API key before you start the development server or run a build.
The key is located in the StockFlux confluence page under the Internal Systems space.
- Download or clone this repository locally
- Ensure Node.js, which includes npm, is installed
Start the webpack development server:
Start the remote redux dev tools server:
npm run remotedev
http://localhost:8000 or use the redux devtools extension to inspect and dispatch actions.
Launch the OpenFin runtime:
npm run openfin:dev
npm Build Tasks
Run webpack-dev-server with the development config:
Launch OpenFin with the development setup (requires the dev server to be running):
npm run openfin:dev
Build and serve the production bundle:
npm run prod
Launch OpenFin with the production setup (requires the server to be running):
npm run openfin:prod
There is a test plan that covers the main features and behaviour. This should be used as a basis for testing before releasing and also the main features covered on testing PR changes.
Run the full suite of unit tests:
Lint and run the tests:
npm run ci
npm run test:watch
Get details on the test coverage:
npm run test:cov
Please see CONTRIBUTING.md for details of how to contribute.
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.