开放代码社区 › report
report
数据与可视化JavaScriptAJ-Report是全开源的一个BI平台,酷炫大屏展示,能随时随地掌控业务动态,让每个决策都有数据支撑。 多数据源支持,内置mysql、elasticsearch、kudu驱动,支持自定义数据集省去数据接口开发,目前已支持30+种大屏组件/图表,不会开发,照着设计稿也可以制作大屏。 三步轻松完成大屏设计:配置数据源---- 写SQL配置数据集---- 拖拽配置大屏---- 保存发布。欢迎体验。 服务器到期,在线体验已下线。请自行部署。
仓库地址
https://gitee.com/belief-team/report.gitREADME
## 简介
    AJ-Report是全开源的一个BI平台,酷炫大屏展示,能随时随地掌控业务动态,让每个决策都有数据支撑。<br>
   
多数据源支持,内置mysql、elasticsearch、kudu驱动,支持自定义数据集省去数据接口开发,目前已支持30+种大屏组件/图表,不会开发,照着设计稿也可以制作大屏。<br>
    三步轻松完成大屏设计:配置数据源---->写SQL配置数据集---->拖拽配置大屏---->保存发布。欢迎体验。
## 在线体验
#### 服务器到期,在线体验已下线。请自行部署。
#### 模板链接
通过百度网盘分享的文件:大屏模板
链接:https://pan.baidu.com/s/1rkjBiiTpA4DBQdep-uAYzQ?pwd=w3rm提取码:w3rm
## React版本
#### https://gitee.com/qlsgr/DataReport/

#### 文档位置
源码 doc -> docs -> guide 目录下即所有文档
####   [在线提问](https://gitee.com/belief-team/report/issues "issue"): https://gitee.com/belief-team/report/issues <br>
## 发行版本
####   [下载链接](https://gitee.com/belief-team/report/releases "下载链接"): https://gitee.com/belief-team/report/releases <br>
## 功能概述
####   组件介绍
   大屏设计(AJ-Report)是一个可视化拖拽编辑的,直观,酷炫,具有科技感的图表工具全开源项目。
内置的基础功能包括数据源,数据集,报表管理,项目部分截图如下。<br>

## 数据流程图

## 打包目录build
```
├── bin 启动命令脚本
│ ├── restart.sh
│ ├── start.bat
│ ├── start.sh
│ └── stop.sh
├── conf 配置文件目录
│ └── bootstrap.yml
├── logs 启动日志目录
├── cache 本地缓存目录
├── lib 自定义扩展包&report-core核心包
```
## 系统目录
```
├── doc 文档源码
│ ├── docs
│ ├── package.json
│ └── README.md
├── pom.xml 父pom,jar版本管理
├── report-core java源码
│ ├── pom.xml gaea父pom,jar版本管理
│ └── README.md
├── report-ui 前端vue源码
├── LICENSE
├── README.md
```
## 核心技术
### 依赖
- [Mysql] 5.7
- [Jdk] 1.8
### 后端
- [aj-gaea](https://gitee.com/anji-plus/gaea) 低代码平台+spring微服务组件.
- [Spring Boot2.3.5.RELEASE](https://spring.io/projects/spring-boot/): Spring Boot是一款开箱即用框架,让我们的Spring应用变的更轻量化、更快的入门。
在主程序执行main函数就可以运行。你也可以打包你的应用为jar并通过使用java -jar来运行你的Web应用;
- [Mybatis-plus3.3.2](https://mp.baomidou.com/): MyBatis-plus(简称 MP)是一个 MyBatis (opens new window) 的增强工具。
- [flyway5.2.1](https://flywaydb.org/): 主要用于在你的应用版本不断升级的同时,升级你的数据库结构和里面的数据
### 前端
- [npm](https://www.npmjs.com/):node.js的包管理工具,用于统一管理我们前端项目中需要用到的包、插件、工具、命令等,便于开发和维护。
- [webpack](https://webpack.docschina.org/):用于现代 JavaScript 应用程序的静态模块打包工具。
- [ES6](https://es6.ruanyifeng.com/):JavaScript的新版本,ECMAScript6的简称。利用ES6我们可以简化我们的JS代码,同时利用其提供的强大功能来快速实现JS逻辑。
- [vue-cli](https://cli.vuejs.org/):Vue的脚手架工具,用于自动生成Vue项目的目录及文件。
- [vue-router](https://router.vuejs.org/): Vue提供的前端路由工具,利用其我们实现页面的路由控制,局部刷新及按需加载,构建单页应用,实现前后端分离。
- [element-ui](https://element.eleme.cn/#/zh-CN):基于MVVM框架Vue开源出来的一套前端ui组件。
- [avue](https://www.avuejs.com/): 用该组件包裹后可以变成拖拽组件,采用相对于父类绝对定位,用键盘的上下左右也可以控制移动。
- [vue-echarts](https://www.npmjs.com/package/vue-echarts/): vue-echarts是封装后的vue插件,基于 ECharts v4.0.1+ 开发。
- [vue-superslide](https://www.npmjs.com/package/vue-super-slider/): Vue-SuperSlide(Github) 是 SuperSlide 的 Vue 封装版本。
- [vuedraggable](https://github.com/SortableJS/Vue.Draggable/): 是一款基于Sortable.js实现的vue拖拽插件。
- [luckysheet](https://gitee.com/mengshukeji/Luckysheet): Luckysheet ,一款纯前端类似excel的在线表格,功能强大、配置简单、完全开源。
## 部署方式
**注意版本兼容性** <br>
源码 doc -> docs -> guide 目录下即所有文档。<br>
启动文档(在线文档图片多,打开很慢可以本地启动文档,方便查看) <br>
```
cd .\doc\
npm run docs:dev
```
### 发行版部署
简易步骤
```
下载最新发行版,解压
cd aj-report-xxxx
vim conf/bootstrap.yml 修改数据库连接、上传下载地址、jwt令牌等信息
sh bin/start.sh Linux启动
bin/start.bat Windows修改第4行的JAVA_HOME后(去掉rem注释),双击启动
启动后访问
http://serverip:9095
用户名密码:admin/123456
```
### 源码编译部署
在Linux上先准备好maven、node.js、jdk
- [Apache Maven] 3.5 <br>
- [Node.js] 请使用LTS版本
- report1.5以下版本请使用 node <= V14
- report1.5及以上版本请使用 node >= V14
- [Jdk] 1.8
简易步骤
```
git clone https://gitee.com/belief-team/report.git
cd report
sh build.sh
编译完成放在build文件夹 aj-report-xxxx.zip
unzip aj-report-xxxx.zip
cd aj-report-xxxx
vim conf/bootstrap.yml 修改数据库连接、上传下载地址、jwt令牌等信息
sh bin/start.sh Linux启动
bin/start.bat Windows修改第4行的JAVA_HOME后(去掉rem注释),双击启动
启动后访问
http://serverip:9095
用户名密码:admin/123456
```
### 前后端分离部署
## 信息安全
### 修改密钥
```
启动前,切记配置文件中修改,修改默认的32位密钥,避免被伪造攻击,修改admin默认密码
spring.gaea.Security.jwtSecret = 修改32位jwt密钥
```
### 慎重公网
```
建议内网部署,避免公网攻击
```
## SQL初始化
sql文件的目录在:report-core --> src --> main --> resources --> db.migration <br>
系统初始化时flyway会自动的将该目录下的sql文件执行,不需要手动执行sql文件,执行完将会创建
aj_report(存放系统基础数据)数据库 <br>
**注意:** 如果sql初始化有问题,请将bootstrap.yml中flyway改为false,并手动执行这些sql <br>
示例数据sql目录在:doc/example,有需要的请手动执行 <br>
## 谁在使用
感谢关注并使用AJ-Report的朋友,如果贵公司、组织、学校等正在使用AJ-Report,希望可以按照此[Issue](https://gitee.com/anji-plus/report/issues/I3ZXT4)
登记并提供贵公司、组织、学校的logo,我们将把贵方的logo放在项目首页进行展示并优先进行技术支持 <br>
<a href='http://www.jtit.com.cn/'><img src="/uploads/readme/9e629124a9c9dae362fc825e.png" width = "130" height = "50" /> </a>
<img src="/uploads/readme/261ec12da9ea623c23b0af09.png" width = "130" height = "50" alt="广东南铝建筑机器人科技有限公司"/>
<a href='http://www.plian.net/'><img src="/uploads/readme/527ab68db19b1ea3b474ff8b.png" width = "130" height = "50" /> </a>
<a href='http://www.turingoal.com/'><img src="/uploads/readme/2b3054ad9ebda4769ccbe9ba.png" width = "130" height = "50" /> </a>
<br>
<a href='http://www.yourongyun.cn/'><img src="/uploads/readme/57fa710a6b2cdcdd63822e31.png" width = "130" height = "50" /> </a>
<a href='https://www.yunstech.cn'> <img src="/uploads/readme/8feeecc5bd7bcf43c2d0b0be.png" width = "130" height = "50" align=left/> </a>
<a href='http://www.fgkb.net/'><img src="/uploads/readme/859747ec9086cd4edf3b8edc.png" width = "130" height = "50" /> </a>
<a href='https://soft.pusdn.com/'><img src="/uploads/readme/2d90329a1c76e4719088449c.png" width = "130" height = "50" /> </a>
<br>
<a href='https://www.sandieji.tech/'><img src="/uploads/readme/5d2cee82d227773741eeca26.png" width = "12