cboard企业版源码_CBoard

CBoard

An open BI Dashboard platform that supports interactive multi-dimensional report design and data analysis

Server side framework is Spring+MyBatis and front-end is based on AngularJS1 and Bootstrap. The whole architecture graphic is as below:

Screenshot

Near Realtime data refresh

**Be attention, refresh level is cube level rather than whole dashboard **

Features Of CBoard

Simple and beautiful interface and layout

Lightweight architecture and concise source code, the entire project does not rely on any third-party multi-dimensional analysis tools

Front page style and layout of CBoard is based on AdminLTE2

The chart plugin uses ECharts

Javascript uses MVVM AngularJS 1.X framework

Interactive, drag-and-drop OLAP classisc report development experience

One dataset, multiple report widgets. Maximize reuse query resoult

Supports OLAP slice filter operation

Supports sort multiple columns/rows at the sametime

Global query cache, to avoid repeated query requests for data

Support common charts and cross tables

Columnar/Stacked vertical and horizontal bar and line mixed chart with dual axis view

Pie chart

Radar Chart

Sanky Chart

Funnel Chart

KPI Widget

Cross-tabulation (Support Drill Down/Roll Up)

China Map

Bubble Chart

Support JDBC data connection

Support Native Elasticsearch connection for version 1.x, 2.x, 5.x

Support Native Kylin connection for version 1.6

Support to connect one of the most popular open source multi-dimensional analysis of products Saiku2, and will be able to selectively create data and graphics

Cube level data refresh / realtime chart for quick query

Easy to implement your own DataProvider to connect any data source. Even for expensive commercial BI suite, it's not possible to connect all the NOSQL and NewSQL data source in the era of big data. Due to the schema of NOSQL are various, such as hash tables, arrays, trees, maps, etc., different people using the same NoSQL products designed Schema may vary widely. The user who most familiar with their storage schema are the user themselves. And it's easy to find a Java programmers to code a Class to connect their own data source. So we leave this part of work to the end user with an easy extended data connection framework in CBoard

Demo (Click pics for full screen demo!)

Load Data from query or DataSet

Basic Operation

Switch Chart Type

Calculated Measure

Add Dashboard Parameters

Use Parameters

Access Control

RBAC (Role Based Access Control), easy admin and view your users' role and roles' access resource list in one page.

Grant roles to user by left Grant button.

Grant access resource to a role by right Grant button.

Resource can only be granted to role. A user can act as more than one roles.

Quick start

Quick Start from docker

We provide a docker image build on centos6 with a sample dataset in it.

docker pull peterzhang921/cboard

docker run --rm -itd --name=cboard -p 8026:8080 --privileged=truecboard

# after docker container is start then attach into it and start tomcat server

/opt/apache-tomcat/bin/startup.sh

# wait after server successfully started

tail -f /opt/apache-tomcat/logs/catalina.out

username: admin , password: root123

There is no prepared charts and dashboard in it

Meta data of CBoard is stotred in embedded DB H2 with file storage, user can change or add your own configuration by yourself then build project and docker image again

how to rebuild docker

# use configuration files in h2 folder, use env parameter then all the files in h2 folder will overwrite same files in resource folder

maven clean package -Denv=h2

# build docker image

docker build --network=host -t cboard .

Build project by yourself

Prerequisite

Before the start, make sure you have setup environment:

JDK version above 1.8

MySQL

Maven

Tomcat

Phantomjs (for export dashbaord)

Mail Servier

How to build project

1 Download or git clone project

git clone https://github.com/yzhang921/CBoard.git

2 Install metadata of CBoard (take MySQL database as example)

2.1 Install demo metadata and sample foodmart db

Enter into the path of these two files

Use MySQL Command Line tool login and execute

source cboard_demo.sql

source foodmart.sql

After success completed, check if cboard_demo2 and foodmart2 databases have been created

2.2 You can alternative choose start from a blank setting

-- CREATE DATEBASE cboard;

Execute ddl to create metadata table: sql/mysql/mysql.sql

3 Modify metadata connection properties file according to your db environment

CBoard/src/main/resources/config.properties

validationQuery=SELECT 1

jdbc_url=jdbc:mysql://localhost:3306/cboard # set to your metadata db connection url, if you are using demo db, change db name to cboard_demo2

jdbc_username=root # change to the username/password of your db

jdbc_password=111111

# Service configuration

dataprovider.resultLimit=300000

admin_user_id=1

phantomjs_path=D:/phantomjs-2.1.1-windows/bin/phantomjs.exe # change to the install path of your phantomjs

web_port=8026 #

web_context= # web context name of your app, can be blank for ROOT deploy

# configuration of Mail service

mail.smtp.host=127.0.0.1

mail.smtp.port=8825

mail.smtp.from=test@test.com

#mail.smtp.username=test@test.com

#mail.smtp.password=111111

#mail.smtp.ssl.checkserveridentity=false

# Cache Properties if you wanna use redis as cache layer

cache.redis.hostName=127.0.0.1

cache.redis.port=6379

4 Comile and package project with Maven

cd root path of CBoard

# Install SQLServer JDBC Driver into your local respository

mvn install:install-file -Dfile=lib/sqljdbc4-4.0.jar -DgroupId=com.microsoft.sqlserver -DartifactId=sqljdbc4 -Dversion=4.0 -Dpackaging=jar

mvn clean package

5 Deploy war to Tomcat application

Copy CBoard/target/cboard.war to webapp folder of Tomcat and rename cboard.war would be better to change name to ROOT.war

Start up Tomcat

6 Access CBoard

http://_yourserverip_:8080

Default login username and passwor: admin/root123

7 For Demo DB user, check and test the source of foodmart

Road Map

All tasks are listed in Issue Page group by milestone.

Also you can get our development status from Project Page

For more detailed Chinese document CBoard 中文文档

For more detailed English document CBoard Wiki

Contact us

You can create any issue or requirements through the Issue system of github.

If you like CBoard then use it, contribute to CBoard and don't forget to star it

Waiting for your Contribution and pull request!

Let us kown you are using CBoard

If your company is using CBoard or prepare to use it, please let us known.

You can check in at this issue page https://github.com/yzhang921/CBoard/issues/122

Donate (请我们喝咖啡)

相关博文推荐

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值