Ticket #1189 (assigned)

Opened 5 years ago

Last modified 5 years ago

Add real-time (push) support to Datastream API

Reported by: mitar Owned by:
Priority: normal Milestone: Next milestone
Component: nodewatcher/modules Version:
Keywords: projectideas, biggerproject, gsoc Cc:
Related nodes: Realization state:
Blocking: Effort: high
Blocked by: Security sensitive: no

Description

Datastream API (with its HTTP interface) is a library for collecting and visualizing time-series data. It is used in nodewatcher to store and visualize measurements from nodes in a mesh network. Such visualizations through time allow better insight into network's status and operation for both experienced and novice users. Current implementation provides a RESTful API for fetching data to the client (browser) side for visualization. The issue is that for real-time visualization of such RESTful API requires from the client side to constantly poll the API endpoint for new data. A better model would be to use a push based API to get data from the server as new data is available (probably as a publish/subscribe pattern).

The aim of the GSoC project is to design and implement a HTTP push based API for Datastream and integrate support for it into current client-side visualization code. Visualization should be able to read and update in real-time as new data arrives. Student should have experience or be willing to learn Python and Javascript and HTTP push based technologies, probably Django/node.js/Meteor/Tornado or some other suitable stack. (Current RESTful API is implemented in Django.) Datastore for Datastream data is MongoDB.

Change History

comment:1 Changed 5 years ago by mitar

  • Owner kostko deleted
  • Status changed from new to assigned

comment:2 Changed 5 years ago by mitar

  • Effort changed from normal to high
Note: See TracTickets for help on using tickets.