https://github.com/shj-v/open-shj-visual-backend
Shanhejian Visualization Backend (山河鉴可视化后端)
https://github.com/shj-v/open-shj-visual-backend
3d 3dgs babylonjs java llm low-code threejs tools visualization
Last synced: about 1 month ago
JSON representation
Shanhejian Visualization Backend (山河鉴可视化后端)
- Host: GitHub
- URL: https://github.com/shj-v/open-shj-visual-backend
- Owner: shj-v
- License: mit
- Created: 2025-08-27T07:24:45.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2025-08-27T07:31:36.000Z (10 months ago)
- Last Synced: 2025-08-27T23:32:56.364Z (10 months ago)
- Topics: 3d, 3dgs, babylonjs, java, llm, low-code, threejs, tools, visualization
- Language: Java
- Homepage: https://shj.studio/website
- Size: 14.6 MB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.cn.md
- License: LICENSE
Awesome Lists containing this project
README
# 山河鉴可视化 —— 后台
[English](./README.en.md) | 简体中文
自由创作 所想所得
您设计,我们生成源码和应用程序,随时可以展示、发布或二次开发。
[](https://github.com/your-org/open-shj-visual)
[](LICENSE)
[](https://shj.studio/website/)
[🌐 官网](https://shj.studio/website/) | [📖 文档](https://shj.studio/website/) | [💬 社区](https://github.com/your-org/open-shj-visual/discussions) | [🐛 反馈](https://github.com/your-org/open-shj-visual/issues)
## 介绍
> 当前组件库主要用于"山河鉴可视化"工具组件模块以及导出源码组件模块,包括100+组件、事件以及数据源。
山河鉴是一款自主可控、国产自研的低代码数据 3D 可视化工具,致力于为用户提供专业、高效、开放的数据可视化解决方案。通过可视化拖拽操作,让数据分析师、设计师、开发者都能轻松创建出色的数据可视化作品,将传统数周的开发工作压缩至数小时完成。工具基于 Vue 3 + TypeScript + Electron 等现代前端技术栈,支持团队协作、自定义组件开发,适用于企业数字化、政府数字化、教育科研等多种场景。
## 系统架构
### 1. 总体架构
- **分层设计**:前端(可对接 Vue/React 等)、后端(Spring Boot)、数据库(MySQL/PG/Oracle/DM/ClickHouse 等)、WebSocket 实时通信。
- **模块化**:各功能模块独立开发、解耦部署,便于维护和扩展。
- **插件化**:数据源、可视化组件、认证等均支持插件式扩展。
### 2. 主要模块说明
#### 2.1 shj-datasource(数据源模块)
- **功能**:负责所有数据源的统一接入、配置、连接管理、数据抽取与权限隔离来自dataease。
- **支持类型**:
- 关系型数据库:MySQL、MariaDB、PostgreSQL、SQLServer、Oracle、ClickHouse、达梦(DM)等
- 文件型数据源:Excel、CSV、JSON
- **核心能力**:
- 数据源注册、配置、动态加载
- 数据库连接池(Druid)高效管理
- 插件化 Provider 机制,便于扩展新类型数据源
- SQL 查询、元数据(表/字段)获取、数据预览
- 文件型数据源解析与字段自动识别
- 团队/用户级权限隔离
- 支持多字符集、JDBC参数自定义
#### 2.2 shj-common(公共模块)
- **内容**:通用工具类、常量、异常处理、基础实体、注解、AOP、配置等。
- **作用**:为各业务模块提供基础能力和复用组件。
#### 2.3 shj-system(系统模块)
- **功能**:系统级配置、用户与团队管理、权限控制、日志、任务调度等。
- **亮点**:支持多团队协作、细粒度权限分配、系统参数灵活配置。
#### 2.4 zerov-tools(工具模块)
- **内容**:第三方集成、认证、文件存储、辅助工具等。
- **作用**:为平台提供外部能力扩展和便捷工具。
#### 2.5 shj-websocket(WebSocket模块)
- **功能**:实现前后端实时通信,支持消息推送、在线协作、数据变更通知等。
---
## 技术选型
- **后端**:Spring Boot、MyBatis-Plus、Druid、Gson/Fastjson
- **数据库**:支持 MySQL、PostgreSQL、Oracle、DM、ClickHouse 等
- **前端**:可对接 Vue、React 等现代前端框架
- **通信协议**:RESTful API + WebSocket
- **依赖管理**:Maven
- **部署方式**:支持本地、云端、容器化部署
---
## 典型业务流程
### 1. 数据源注册与管理
1. 用户/管理员在前端页面填写数据源信息(类型、地址、端口、用户名、密码等)。
2. 后端 zerov-datasource 模块接收请求,校验并保存数据源配置。
3. 系统根据数据源类型,动态选择对应 Provider,通过 Druid 连接池建立连接。
4. 支持对数据源的增删改查、启用禁用、权限分配等操作。
### 2. 数据查询与元数据获取
1. 用户选择数据源并输入 SQL 查询或选择表。
2. Provider 负责执行 SQL,返回数据结果或表结构、字段信息。
3. 支持分页、数据预览、字段权限过滤等。
### 3. 文件型数据源处理
1. 用户上传 Excel/CSV/JSON 文件。
2. 系统自动解析文件内容,识别字段、预览数据。
3. 支持字段映射、数据清洗、批量导入等操作。
### 4. 多团队/多用户隔离
- 数据源、数据集、可视化资源均可按团队、用户进行隔离和权限控制,保障数据安全。
---
## 扩展性与定制能力
- **数据源扩展**:只需实现 Provider 接口并注册,即可支持新类型数据源。
- **可视化组件扩展**:支持自定义图表、仪表盘等前端组件。
- **认证与权限**:可集成企业 SSO、LDAP、OAuth2 等多种认证方式。
- **第三方集成**:支持与外部数据平台、存储、消息队列等对接。
---
## 适用场景
- 企业级数据分析与可视化
- 多数据源统一管理与数据集成
- 数据开发、数据治理平台
- BI 报表、仪表盘搭建
- 数据中台、数据资产管理
---
## 目录结构(示例)
```
shj_visual/
├─ zerov-common/ # 公共模块
├─ zerov-datasource/ # 数据源模块
├─ zerov-system/ # 系统模块
├─ zerov-tools/ # 工具模块
├─ zerov-websocket/ # WebSocket模块
└─ pom.xml # 项目聚合配置
```
---
## 快速开始
1. 克隆代码仓库,安装依赖
2. 配置数据库及相关参数(application.yml/application-dev.yml)
3. 启动后端服务(Maven 或 IDE 运行主类)
4. 访问前端页面,进行数据源配置和可视化操作
---
## 特色亮点
- 插件化数据源扩展,支持自定义 Provider
- 多团队/多用户隔离,权限灵活
- 支持大数据量高效查询与缓存
- 丰富的可视化能力与数据建模支持
- 支持多种文件型数据源,灵活的数据导入导出
---
## 联系方式与支持
如需定制开发、技术支持或有任何建议,请联系项目维护者或提交 issue。
---
如需更详细的接口文档、开发指南、部署说明或英文版文档,请随时告知!
## 第三方配置
- 文件上传使用的腾讯云的,请大家自己去配置在tools模块
- 微信登录也需要配置
- 短信配置
## 默认登录的账号密码
- 185111112222/Aa123456
## 社区与支持
### 资源
- 官方网站: [https://shjv.yuque.com/org-wiki-shjv-psfwkn/shj](https://shjv.yuque.com/org-wiki-shjv-psfwkn/shj)
- 官方文档: [https://shj.studio/website/](https://shj.studio/website/)
- 视频教程: B 站搜索"山河鉴可视化"
### 交流
- QQ群:795698425、805334126
- 微信社区: 扫描官网二维码加入
- GitHub Discussions: 技术讨论和问题解答
- 知乎: @山河鉴可视化
- B 站: @山河鉴可视化
如果这个项目对您有帮助,请给我们一个Star支持!⭐⭐⭐
让我们一起构建更好的数据可视化生态!🚀