Norris-nrti

Node Real-Time Intelligence (Credits CoffeeStrap)

View project on GitHub

Welcome to Norris-nrti.

Norris is a powerful and easy-to-use framework that allows a developer to generate and run an instance where he can create several types of charts and arrange them in different pages.
The charts and pages can be accessed by clients through either a browser-based or an Android application, and the chart properties and data can be updated at any moment; each of the clients connected will receive the update in real time without any further effort needed.

The types of graphs available in the framework are the following:

  • Bar Chart
  • Line Chart
  • Map Chart
  • Table

Framework usage

In order to use the framework, you first need to install it from the npm platform using the following instruction:

  npm install norris-nrti

Once installed, you can create your first instance right away!

First off, you need to instantiate some variables that are crucial for Norris to work:


  var express = require('express');
  var app = express();
  var http = require('http');
  var server = http.createServer(app);
  var io = require('socket.io')(server);

Here's when you can finally create your Norris object, that represents the actual framework instance:


  var Norris = require('norris-nrti.js');
  var norris = new Norris(app,io,'/norris','http://norris-example.com');

From now on, you can proceed to create the objects of your Norris instance.

The Norris framework features

Each of the Norris objects, especially the graphs, offer a handful of features regarding appearance, data management and filtering and real-time updating.

I will now overview the main functionalities provided by the four types of graphs, to broaden the reader's understanding over the framework. Further and more specific information can be found in the Developer Manual, which can be obtained here

Bar Chart

The Bar Chart includes functionalities such as:

  • changing the bar orientation;
  • changing the bar colors;
  • adding labels to the column that appear upon clicking on them;
  • displaying the bars as either grouped or stacked;
  • hiding certain bars;
  • filtering the data depending on several custom criteria;
  • updating each of the bars height and position.

Line Chart

The Line Chart includes functionalities such as:

  • changing the line colors;
  • adding labels to the dots that appear upon clicking on them;
  • hiding certain lines;
  • changing the interpolation;
  • filtering the data depending on several custom criteria;
  • adding new data to each line;
  • updating each of the dots values.

Map Chart

The Map Chart includes functionalities such as:

  • changing the map position and zoom level;
  • changing the appearance of the markers on the map to either one of the preset shapes, a custom icon or text;
  • adding labels to the markers that appear upon clicking on them;
  • filtering the data depending on several custom criteria;
  • setting a trace for the markers, either as a trail or as an area;
  • updating each of the marker values.

Table

The Table includes functionalities such as:

  • changing the appearance of the headers, of the odd and of the even rows, in terms of background and text color;
  • changing the appearance of each single cell;
  • changing the general border appearance;
  • adding new rows, by appending them to either the top or the bottom of the table;
  • filtering the data depending on several custom criteria;
  • updating each of the row values.

Reports

Throughout the development of the framework, we made use of several tools that aided us in obtaining, gathering and tracking statistic data regarding our code and its testing.

Here I include a list of links to the aforementioned reports, updated to the latest builds: