Skip to content

πŸ“Š Cube.js β€” Open-Source Analytical API Platform

License

Notifications You must be signed in to change notification settings

philippefutureboy/cube.js

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Cube.js

Website β€’ Getting Started β€’ Docs β€’ Examples β€’ Blog β€’ Slack β€’ Twitter

npm version GitHub Actions FOSSA Status

Cube.js is an open-source analytical API platform. It is primarily used to build internal business intelligence tools or add customer-facing analytics to existing applications.

Cube.js was designed to work with Serverless Query Engines like AWS Athena and Google BigQuery. Multi-stage querying approach makes it suitable for handling trillions of data points. Most modern RDBMS work with Cube.js as well and can be tuned for adequate performance.

Unlike others, it is not a monolith application, but a set of modules, which does one thing well. Cube.js provides modules to run transformations and modeling in data warehouse, querying and caching, managing API gateway and building UI on top of that.

For more details, see the Cube.js introduction page in our documentation.

Why Cube.js?

If you are building your own business intelligence tool or customer-facing analytics most probably you'll face the following problems:

  1. Performance. Most of effort time in modern analytics software development is spent to provide adequate time to insight. In the world where every company data is a big data writing just SQL query to get insight isn't enough anymore.
  2. SQL code organization. Modelling even a dozen of metrics with a dozen of dimensions using pure SQL queries sooner or later becomes a maintenance nightmare which ends up in building modelling framework.
  3. Infrastructure. Key components every production-ready analytics solution requires: analytic SQL generation, query results caching and execution orchestration, data pre-aggregation, security, API for query results fetch, and visualization.

Cube.js has necessary infrastructure for every analytic application that heavily relies on its caching and pre-aggregation layer to provide several minutes raw data to insight delay and sub second API response times on a trillion of data points scale.

Getting Started πŸš€

There're two ways to create a Cube.js application.

If you have Node.js installed, run this command and follow with the Getting Started guide.

$ npx cubejs-cli create hello-world

In case you don't have Node.js, or you'd like to run Cube.js with Docker, have a look at the Getting started with Docker guide.

Resources

Community

If you have any questions or need help - please join our Slack community of amazing developers and contributors.

You are also welcome to join our monthly community calls where we discuss community news, Cube Dev team's plans, backlogs, use cases, etc. If you miss the call, the recordings will also be available after the meeting.

Contributing

There are many ways you can contribute and help Cube.js. Here a few ones:

  • Star this repo and follow us on Twitter.
  • Add Cube.js to your stack on Stackshare.
  • Upvote issues with πŸ‘ reaction so we know what's the demand for particular issue to prioritize it within road map.
  • Create issues every time you feel something is missing or goes wrong.
  • Ask questions on Stack Overflow with cube.js tag if others can have these questions as well.
  • Provide pull requests for all open issues and especially for those with help wanted and good first issue labels as those are out of Cube.js Core Team roadmap scope.

All sort of contributions are welcome and extremely helpful πŸ™Œ Please refer to the contribution guide for more information.

License

Cube.js Client is MIT licensed.

Cube.js Backend is Apache 2.0 licensed.

FOSSA Status

About

πŸ“Š Cube.js β€” Open-Source Analytical API Platform

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 63.2%
  • Rust 20.1%
  • TypeScript 15.1%
  • Dockerfile 0.5%
  • HTML 0.3%
  • Handlebars 0.3%
  • Other 0.5%