Cube.js فریمورکی اپنسورس است که این امکان را در اختیار توسعهدهندگان میگذارد تا بتوانند با استفاده از آن به آنالیز رفتار کاربران وبسایت پرداخته و Business Intelligence یا به اختصار BI را وارد کسبوکار خود نمایند.
بکاند این فریمورک مسئول برقراری ارتباط با دیتابیس، کَش کردن کوئریها و همچنین عرضهٔ یک ایپیآی است تا دیتای مورد نیاز به سهولت در اختیار بخش فرانتاند قرار گیرد و از جمله سیستمهای مدیریت دیتابیس که توسط این فریمورک ساپورت میشوند میتوان به Postgres ،MySQL و MongoDB اشاره کرد.
Cube.js Data Schema فیچری از این فریمورک است که امکان تولید کوئریهای ساختاریافته SQL با قابلیت استفادهٔ مجدد را به دولوپرها میدهد. به عنوان مثال، اِسکمای زیر مسئول فراخوانی دیتای کاربران از جدولی فرضی تحت عنوان users
است:
cube(`Users`, {
sql: `SELECT * FROM users`,
measures: {
count: {
sql: `id`,
type: `count`
}
},
dimensions: {
city: {
sql: `city`,
type: `string`
},
signedUp: {
sql: `created_at`,
type: `time`
},
companyName: {
sql: `company_name`,
type: `string`
}
}
});
از این پس، Cube.js با استفاده از این اِسکما کدهای اسکیوال مورد نیاز خود را تولید کرده، آنها را اجرا نموده و نتیجه را بازمیگرداند.
فرانتاند این فریمورک مبتنی از لایبرری React است اما این در حالی است که هم میتوانید بدون استفاده از لایبرری خاصی و هم با استفاده از سایر لایبرریهای جاوااسکریپتی بخش رابط کاربری این فریمورک را مدیریت کنید.