The open-source data visualization framework.
joola.io is a distributed data processing and visualization framework. The framework is designed as an end-to-end solution for data analytics. The framework connects to your databases and using a JSON based mapping of dimensions and metrics, it exposes a RESTful API for querying the data. The Client SDK communicates with the engine to display, visualize and provide insight into the data. Developers can extend the framework in many ways, add data connectors, authentication plugins, visualizations and more.
To learn more about the framework architecture, see our documentation site.
- Big-data, supports distributed caching and processing to cope with big-data needs.
- Fast, advanced caching algorithm. Avg. query time of less than a few seconds.
- Integrate quickly, seamlessly embed in your site.
- Distributed, run on a single machine or a node-based matrix.
- Secure, role-based, multi-tenant, data segregation.
- AaaS ready, offer Analytics as a Service to your audience.
- Pluggable data source, authentication and cache middleware
joola.io is a distributed framework, it can be hosted on a single node or expanded to a grid. The following our the different components composing the framework.
- joola.io - This repo. CLI and the main entry point of the framework.
- joola.io.engine - A RESTful API server holding and executing all logic relating to the framework.
- joola.io.analytics - A fully working analytics website.
- joola.io.sdk - Client side SDK to communicate with engine in a browser.
- joola.io.config - Distributed configuration node for the framework.
- joola.io.logger - Central logging node for the framework.
Please see the following guides for using joola.io:
- Start with the complete documentation.
- Learn about the framework architecture.
- Code documentation covers developing and extending.
- Review coding guidelines if you're interested in submitting a pull-request.
- Our CI monitor, we use Jenkins for the heavy lifting.
We've pre-loaded the package with a fully working sample site, so it's easy to get started.
Before we get started, you'll need to install nodejs.
$ npm install joola.io
$ npm install -g pm2
$ npm start
Following the installation, point your browser to http://localhost:40002
and you'll be able to use the analytics site.
Our sample site and data are based on serverfault's archived data. It includes Q&A submitted up to a year ago.
We are looking for additional sample data sources that may highlight more features of the framework, if you know of one, let us know contact.
We use JIRA as our issue tracker and project management tool.
When submitting bug reports, please make sure you provide as much information as possible, including steps to reproduce. Each code commit relating to the ticket, will be marked, including builds and tests, so you'll have full transparency as to the status of your issue.
We would love to get your help! We have outlined a simple Contribution Policy to support a transparent and easy merging of ideas, code, bug fixes and features.
If you're looking for a place to start, you can always go over the list of open issues, pick one and get started. If you're feeling lost or unsure, just let us know.
Contacting us is easy, ping us on one of these:
- @joolaio
- [email protected]
- #joola.io on irc.freenode.net
- You can even fill out a form.
We started this project a few years ago and it evolved into its current shape over two previous versions. Formerly known as Jarvis Analytics, the commercial version, the framework as evolved from C# to nodejs, from a single node to a full grid.
We are in the process of migrating the previous commercial closed source product to this open-source project.
Copyright (c) 2012-2013 Joola Smart Solutions. GPLv3 Licensed, see LICENSE for details.