大屏设计器,就它了!

大家好,我是 Java陈序员

我们在做季度汇报、年度汇报时,常常需要将数据以图表的形式表示,并在大屏上展示。

今天,给大家介绍一个简单、免费、开源的数据大屏设计器。

关注微信公众号:【Java陈序员】,获取开源项目分享、AI副业分享、超200本经典计算机电子书籍等。

项目介绍

DataRoom —— 一款大屏设计器,具备大屏设计、预览能力,支持MySQL、Oracle、PostgreSQL、SQLServer、ElasticSearch、JSON、JS、HTTP、Groovy 等数据集接入,使用简单,完全免费,代码开源。

功能特性:

技术栈:

  • SpringBoot
  • MyBatisPlus
  • Vue
  • ElementUI
  • G2Plot
  • Echarts

项目截图

1、大屏管理

支持大屏【新增】、【编辑】、【设计】、【预览】、【复制】、【删除】、【分组】操作

2、资源库

支持自定义上传资源,在大屏设计器中可以直接引用资源,如:3D图片、边框图片、装饰条、背景图

3、组件库

包括业务组件、系统组件,设计好的组件可在设计器中复用使用。

4、数据源管理

支持MySQL、PostgreSQL、Oracle 、ClickHouse、SqlServer数据库接入。

5、数据集

支持原始数据集、自助数据集、存储过程数据集、JSON数据集、脚本数据集、JS脚本数据集、HTTP数据集多种方式接入数据。

快速开始

源码启动

环境准备:

  • Java 1.8.x
  • MySQL 5.7.x+
  • Node 14.xx
  • Npm 6.xx

后端启动:

1、拉取代码

git clone https://github.com/gcpaas/DataRoom.git

2、执行 DataRoom/doc/init.sql 文件,初始化数据库

3、修改配置文件

DataRoom/dataroom-server/src/main/resources 下添加配置文件 application-dev.yml ,并修改其中的数据库连接信息和文件存储信息

spring:
  servlet:
    multipart:
      # 配置上传下载文件的最大值
      max-file-size: 500MB
      max-request-size: 500MB
  datasource:
    type: com.alibaba.druid.pool.DruidDataSource
    driverClassName: com.p6spy.engine.spy.P6SpyDriver
    url: jdbc:p6spy:mysql://127.0.0.1:3306/dataroom?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai&rewriteBatchedStatements=true&nullCatalogMeansCurrent=true
    username: root
    password: pwd
gc:
  starter:
    file:
      # 一个存储文件的绝对路径,需要有写入权限
      basePath: /root/data
      # 文件资源访问前缀,一般修改ip即可
      urlPrefix: http://127.0.0.1:${server.port}${server.servlet.context-path}/static

4、启动主启动类 com.gccloud.DataRoomApplication

前端启动:

1、拉取代码

git clone https://github.com/gcpaas/DataRoom.git

2、安装依赖

## 仓库中data-room-ui为前端工程,进入到 data-room-ui 目录
cd  data-room-ui
## 安装依赖
npm install

3、修改 public/config/index-development.js 文件中 baseUrl 的值为后端服务地址

window.ENV = 'development'
var developmentConfig = {
  baseUrl: 'http://127.0.0.1:8081/bigScreenServer',
  // 默认为baseUrl + static,如果文件存储方式有变动则需要在此处修改,否则可以不配置
  fileUrlPrefix: 'http://127.0.0.1:8081/bigScreenServer' + '/static'
}
// 必须的
window.CONFIG = configDeepMerge(window.CONFIG, developmentConfig)

4、启动前端

npm run serve

5、启动成功后控制台自动打印大屏访问地址,复制到浏览器打开访问

Docker 部署

1、启动命令

DataRoom 镜像使用了 H2 数据库作为数据库,H2 数据库是一个嵌入式关系型数据库,无需单独部署

docker run \
    -d \
    -p 5245:8081 \
    -e IP="192.168.123.1" \
    -e PORT="5245" \
    -v /home/dataroom/data:/data \
    -v /home/dataroom/db:/db \
    gcpaas/dataroom:latest
  • IP 该变量是指宿主机的ip地址,为必须项
  • PORT 该变量是指宿主机端口,即上述 -p 选项中设置的宿主机端口,为必须项

2、容器启动成功后,浏览器访问

http://{ip/域名}:5245/dataroom/index.html

最后

推荐的开源项目已经收录到 GitHub 项目,欢迎 Star

https://github.com/chenyl8848/great-open-source-project

或者访问网站,进行在线浏览:

https://chencoding.top:8090/#/

大家的点赞、收藏和评论都是对作者的支持,如文章对你有帮助还请点赞转发支持下,谢谢!

### DataRoom 的概念和技术实现 #### 数据分析与可视化的开源工具 DataRoom 是一种专注于数据分析和可视化的开源工具,其设计目标是简化用户在数据管理、分析过程中的操作流程[^1]。它通过集成多种功能模块来支持全面的数据生命周期管理,这些模块涵盖了从数据导入到最终可视化展示的全过程。 #### 功能特性概述 该工具提供了丰富的内置功能,包括但不限于数据导入、数据清洗、数据存储以及高级别的数据可视化能力。特别值得一提的是,DataRoom 非常适合团队协作场景,能够显著提升团队成员之间共享和管理数据资源的工作效率。 #### 技术架构解析 DataRoom 基于现代主流的技术栈构建而成,具体如下: - **后端框架**: 使用了 SpringBoot 和 MyBatisPlus 来完成服务器端逻辑处理及数据库交互工作。 - **前端框架**: Vue 结合 ElementUI 提供了一个响应式的用户界面体验。 - **图表库**: G2Plot 和 ECharts 被用来生成高质量的数据可视化图形[^2]。 以下是部分核心组件及其作用说明: 1. **SpringBoot** - 作为整个项目的后端基础框架,负责业务逻辑控制和服务部署自动化。 2. **MyBatisPlus** - 扩展自 MyBatis ORM 工具包的功能集,在 SQL 查询优化方面表现出色。 3. **Vue.js** - 构建动态单页面应用程序的核心技术之一,增强了用户体验流畅度。 4. **ElementUI** - UI 组件集合体,用于快速搭建美观一致性的 Web 页面布局结构。 5. **G2Plot / ECharts** - 可视化引擎选项,允许开发者灵活定制各类统计图样式满足不同需求情境下的表现形式要求。 ```java // 示例代码片段:Spring Boot Controller 层定义 RESTful API 接口方法 @RestController @RequestMapping("/api/data") public class DataController { @Autowired private DataService dataService; @GetMapping("/{id}") public ResponseEntity<DataEntity> getDataById(@PathVariable Long id){ Optional<DataEntity> optionalData = dataService.findById(id); return optionalData.map(ResponseEntity::ok).orElseGet(() -> ResponseEntity.notFound().build()); } } ``` --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值