# ant-report
**Repository Path**: hglgitee/ant-report
## Basic Information
- **Project Name**: ant-report
- **Description**: 中国式报表系统,是全开源的一个BI平台,酷炫大屏展示,能随时随地掌控业务动态,让每个决策都有数据支撑。
多数据源支持,内置mysql、elasticsearch、kudu驱动,支持自定义数据集省去数据接口开发,目前已支持30+种大屏组件/图表,不会开发,照着设计稿也可以制作大屏。
大屏设计:配置数据源---->写SQL配置数据集---->拖拽配置大屏---->保存发布。
- **Primary Language**: Java
- **License**: Apache-2.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 4
- **Created**: 2024-12-23
- **Last Updated**: 2024-12-23
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
## 简介
Ant-Repor是基于AJ-Report二次开发的中国式报表系统,是全开源的一个BI平台,酷炫大屏展示,能随时随地掌控业务动态,让每个决策都有数据支撑。
多数据源支持,内置mysql、elasticsearch、kudu驱动,支持自定义数据集省去数据接口开发,目前已支持30+种大屏组件/图表,不会开发,照着设计稿也可以制作大屏。
三步轻松完成大屏设计:配置数据源---->写SQL配置数据集---->拖拽配置大屏---->保存发布。欢迎体验。
目前还是比较初级的报表系统,针对企业需求还需要进行大量的二开工作。
**针对更完善的企业版本,请联系微信。**
## 联系微信

欢迎加微信交流,获取在线演示。拥有完整的数据中台、数据集成平台、大屏设计器等完整的数据产品解决方案,接受二开、定制需求。帮助您快速建立自己的AIOT平台、数据中台、数据集成平台等。
## 功能概述
#### 组件介绍
大屏设计是一个可视化拖拽编辑的,直观,酷炫,具有科技感的图表工具全开源项目。
内置的基础功能包括数据源,数据集,报表管理,项目部分截图如下。

## 数据流程图

## 打包目录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
### 后端
- [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的在线表格,功能强大、配置简单、完全开源。
## 部署方式
**注意版本兼容性**
源码 doc -> docs -> guide 目录下即所有文档。
启动文档(在线文档图片多,打开很慢可以本地启动文档,方便查看)
```
cd .\doc\
npm run docs:dev
```
### 源码编译部署
在Linux上先准备好maven、node.js、jdk
- [Apache Maven] 3.5
- [Node.js] v14.16.0
- [Jdk] 1.8
简易步骤
```
https://gitee.com/wangmingf83/ant-report
cd ant-report
sh build.sh
编译完成放在build文件夹 aj-report-xxxx.zip
unzip aj-report-xxxx.zip
cd aj-report-xxxx
vim conf/bootstrap.yml 修改数据库连接、上传下载地址等信息
sh bin/start.sh Linux启动
bin/start.bat Windows修改第4行的JAVA_HOME后(去掉rem注释),双击启动
启动后访问
http://serverip:9095
用户名密码:admin/123456
```
## SQL初始化
sql文件的目录在:report-core --> src --> main --> resources -- > db.migration
系统初始化时flyway会自动的将该目录下的sql文件执行,不需要手动执行sql文件,执行完将会创建
aj_report(存放系统基础数据)数据库
## 版本问题
已知以下版本存在兼容性问题,请不要使用
- Node.js V16及以上
- openJdk
- Jdk 1.7及以下/11及以上(jdk11部分版本有问题)
- Mysql 8.0(8.0.23/26版本没有问题,8.0.21版本存在问题)
## 商业授权
ant-report是基于AJ-Report开发的开源报表系统,遵守AJ-report使用[Apache2.0开源协议](http://www.apache.org/licenses/LICENSE-2.0.html)
,允许商业使用,但务必保留类作者、Copyright信息。
个人和企业,在直接使用、二次开发后商业使用,需要遵守:
- 包含Apache LICENSE文件
- 如果修改了代码,需要在被修改的文件中说明
- 在修改和有源代码衍生的代码中,需要带有原来代码中的协议,商标
- 在二次开发后商业发布的产品中,使用了多个开源软件,则必须包含一个Notice文件,在Notice文件中需要带有Apache
LICENSE。你可以在Notice中增加自己的许可,但不可以表现为对Apache
LICENSE构成更改。