About

Cyclotron is a browser-based platform for creating and viewing dashboards. It provides standard boilerplate and plumbing, allowing non-programmers to easily create and edit dashboards using customizable components.

Dashboards are specified as a JSON document containing all the properties required to render itself. Cyclotron has a built-in editor for creating and modifying Dashboards directly in the browser.

Terminology

  • Dashboard

    A series of Pages, as well as Data Sources, Scripts, Styles, etc. Rendered as a web page.

  • Page

    One or more Widgets arranged and sized on the screen; one Page is displayed at a time

  • Data Source

    Reusable component that retrieves data for Widgets

  • Widget

    Reusable component that displays data on the Dashboard

Architecture

Cyclotron is composed of two parts:

  1. A Node.js service that connects to MongoDB and provides a REST API
  2. A single-page application (SPA) website

The website is a single-page application written with Angular.js. All of the Dashboard rendering is performed in client-side JavaScript, rather than on the server. The website itself compiles into a static website, so any web server can be used to host it.

The REST API manages the storage and retrieval of Dashboards, as well as permissions, authentication, and analytics. Other clients could be written to interface with it—to automatically deploy dashboards, for example.