iot-dashboard icon indicating copy to clipboard operation
iot-dashboard copied to clipboard

Issues and commits at GitLab: https://gitlab.com/lobaro/iot-dashboard

Master: Build Status codecov Dependencies Dev-Dependencies

Dev: Build Status

For help, questions, feedback, ... try: Gitter

Individual Open Technology - Dashboard

Free Dashboard for your Data

A generic dashboard application based on JavaScript, HTML and CSS that runs in modern browsers. Allows to arrange and configure widgets to display data from any datasource. A Plugin API that allows easy widget and datasource development to keep the dashboard as extensible as possible.

Can be used as free alternative to geckoboard, kibana, or freeboard. And of course for all other IoT, M2M, Industry 4.0, BigData, whatever dashboards you have to pay for out there.


Not Done Yet This Project is still in Development and can not be used for production. Subscribe to get updates.

The latest stable version is on the master branch. The latest development snapshot is on the dev branch.

Demo

Online:

Motivation

Why just another Dashboard?

I was looking for a Dashboard with the following properties:

  • OpenSource, royalty free, with code that I can understand and extend for full customization
  • Easy to setup, maintain and extend - even for unusual datasources and widgets
  • A Reasonable set of default widgets, to be used out of the box
  • Simple API and development setup to write custom widgets and datasources, as a solid base for community driven development and extensions
  • Running locally/offline without the need of any server, keeping the server optional until I really need one
  • Having a community that extends the Dashboard for their own needs

If you find something that comes close to the above requirements, please let me know!

Setup

Prerequisite: Download & install NodeJs

Install from npm

Install the Dashboard

npm install -g iot-dashboard

Start the dashboard server

iot-dashboard

Open your browser at http://localhost:8081

Run the Dashboard locally from source

npm install
npm run compile
npm start
  • Dashboard: http://localhost:8081/
  • Tests: http://localhost:8081/tests.html
  • Testcoverage: http://localhost:8081/coverage/

Development

To keep everything simple all important tasks are based on scripts in package.json. Use npm run <script-name> to run any of them.

For preparation run

npm install

Run the Webpack Server with live-reload and hot module replacement

npm run dev

Open your browser at: http://localhost:8080 and for developing tests: http://localhost:8080/webpack-dev-server/tests.html

Run a second watch task to keep some other files up to date (optional) See gulpfile.js -> watch task for details.

npm run watch

To make sure all you changes will survive the CI build

npm run build

To just run the tests (not enough to survive the CI build!)

npm test

Find the coverage report in dist/coverage or while the server is running at http://localhost:8080/coverage/

Documentation

Check out the Documentation in /docs

License

The code is available under Mozilla Public License 2.0 (MPL 2.0) For more information you might want to read the FAQ.

Contributors have to add a License Header to new sourcecode files.

This means you can use and modify the code for private propose (personal or inside your organisation) Outside of your Organisation you must make modified MPLed code available to your users and comply with all other requirements of the MPL 2.0.

If you need some of the code available under another license, do not hesitate to contact me.