Edit data and create charts and sonifications. Developed by Highsoft, the company behind Highcharts. Designed in collaboration with Georgia Institute of Technology. Read more and see it live at sonification.highcharts.com.
This project is licensed under the open source BSD 3-Clause license, but makes use of the proprietary Highcharts library. A suitable Highcharts license is required for all commercial use or distribution. This is important if you are making forks or installing the tool on your own servers. See LICENSE.md for more information.
Follow the below steps to get started developing on this project.
Clone this repository and install dependencies with npm i
.
To build the project and start a dev server, run npm run dev
.
To build for production, run npm run build
. The build output is placed in the dist
directory.
To lint without building, run npm run lint
. Linting is otherwise ran automatically before each build and commit.
We are using ParcelJS for bundling files. Typescript is used for transpilation, and Vue is used as a front-end framework. Eslint is used for linting, with plugins for Typescript and Vue.
To build and publish to GitHub pages, ensure app version is correct in package.json
, run npm run publish
, commit, and push. Commit message should be Release vX.X.X.
. After pushing, add a new release on GitHub, with a tag corresponding to the release version (vX.X.X
), and name corresponding to the version number (X.X.X
).
If publishing on other platforms than GitHub, remove the .nojekyll
files, and ensure index pages are named correctly (index.html
vs home.html
).
The contents of the docs
directory is automatically served on the GitHub pages site. The app releases are versioned in docs
in order to allow for user testing different versions, and avoiding confusion around which version is being tested.
To run unit tests, run npm test
.
Jest is used as the test framework. The tests can be found under /test
.
Tests are ran automatically before each commit.
Studies are stored under /src/app/studies
, and are copied to /docs/studies
with their original directory structure upon building/publishing.
These studies are used for publishing demos around research efforts from Highcharts related to sonification.
Source files are found under /src/app
, with /src/app/editor
containing components for the editor itself, and /src/app/home
containing components for the landing page. /src/editor/core
contains the program logic and utilities, and /src/editor/store
contains the Vuex data store modules with default parameters.
The project has a dependency on the open source Javacsript library mathJS. This library is used for the "Fill equation" functionality on the data page.