Skip to content

heliteng/CBoard

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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:

image

Screenshot

image

Near Realtime data refresh

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

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 EChart
    • Javascript uses MVVM AngularJS 1.X framework
  • Interactive, drag-and-drop OLAP classisc report development experience
    wiget_overview
  • One dataset, multiple report widgets. Maximize reuse query resoult. But, the first and foremost survival rule in CBoard is make the dataset used in CBoard small using aggregate. Don't worry the source data can be very big. You don't need so many dimension in one chart
* 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 * Other graphs is coming soon * Support JDBC data connection * 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

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
-- 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
jdbc_username=root
jdbc_password=111111

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 to ROOT.war, Make sure deploy app as ROOT, Otherwise the application will not work
  • Start up Tomcat

Access CBoard

http://_yourserverip_:8080
Default login username and passwor: admin/root123

For more detailed Chinese document CBoard Wiki

English document coming soon

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!

CBoard QQ Group for Chinese: 301028618
Email: [email protected], [email protected]
Front-end question:Fine[email protected]

Packages

 
 
 

Languages

  • JavaScript 54.0%
  • HTML 37.5%
  • CSS 7.1%
  • Java 1.3%
  • PHP 0.1%