The Convolv Desktop
Convolv is a desktop application that provides four independant consoles and a central dashboard for the analysis of data. Built with vanilla JS and incorporating more than a dozen open-source libraries, the application allows a user to import data, perform numerical analyses and chart the results, both to the console's chart window as well as to a common dashboard shared by all four consoles.
This project uses the awesome electron-boilerplate, so please refer to that repo for tips and notes regarding building and developing. To quickly launch the app on your desktop in development mode, just enter the following commands:
git clone https://github.com/scribeGriff/convolv-desktop.git cd convolv-desktop npm install npm start
This assumes that you have Node.js already installed.
Build the Application
A pre-built setup executable for Windows is available in the dist folder. Simply download and launch the setup binary to install the Convolv application on your PC (note that this app is unsigned and you will need to grant permission for it to be installed). For Mac and Linux users, or for PC users who would prefer to build their own setup executable, assuming you have already followed the steps in the Quick Start, just run the following additional command:
npm run release
This will create a dist folder in your local project directory which will contain the necessary installation file for your computer.
Besides having built-in support for the powerful Math.js library, additional features have been incorporated including:
- Simple waveform generator: square, pulse, triangular, etc.
- Polynomial string construction for latex output
- Common signal processing algorithms including (more are in development):
fft(): fast and discrete Fourier transform
ifft(): fast and discrete inverse Fourier transform
fsps(): partial sums of Fourier series
deconv(): deconvolution (polynomial division)
corr(): cross and auto correlation
filter(): a 1D transposed direct form II digital filter structure
We've also included the awesome Highcharts library to provide support for the following chart types:
Data can be entered manually or imported/exported as:
- csv from a local drive
- JSON data from a URL (support for tokens is available)
In addition, JSON data imported from a URL can be displayed in a datatable.
Note: The libraries below are covered by their respective licenses.
Convolv is only a reality thanks to these amazing Github projects:
- Electron Boilerplate
- Smooth Scroll
- ES6 Shim
MIT. Please see the license file.