DataLoom是一个为用户提供智能化、可视化的数据治理与分析平台 🛠
传统数据可视化平台存在一些明显的缺点,例如需要用户具备一定的技术知识,因此对用户的技术要求较高。一次完整的数据可视化过程包括数据清洗、数据分析、数据可视化等多个步骤,操作起来较为复杂。DataLoom区别与传统的数据可视化平台,在用户上传数据源(支持MySQL、API、Excel等),系统即自动从元数据中识别出高价值数据,由LLM大模型进行自动化分析,也可支持用户自定义分析目标。作者:Hardork 贡献者:RookieeZhang 项目问题通过下面的联系方式进行沟通 邮箱:hardork@163.com WX号: _hardork
- 多数据源上传,用户将不同的数据源数据导入系统中,转换为统一存储格式,后续可利用手动联表或自定义SQL的方式进行数据提取
- 数据协同,用户可将生成的数据集共享给其他用户,实现数据的协作开发和共同分析,提升团队效率。
- 智能化生成数据集,:DataLoom 通过 LLM 模型,自动分析用户上传的数据源元数据,识别高价值信息,并根据用户的分析需求生成数据预览,支持保存为数据集,进一步简化数据处理过程。
- 智能问数,自然语言问答式获取数据,无需编写查询语句
- 智能化看板,基于自动化的数据分析,DataLoom 可以生成高度定制化的可视化看板,帮助用户快速获取关键洞察。
- 积分获取与消费,用户在平台上完成特定任务可以获得积分,积分可用于兑换服务或功能,增加用户互动性与粘性。
- 优惠券模块,平台通过优惠券系统,提供各种折扣和奖励,鼓励用户参与并增加活跃度,支持折扣券、免费服务券、双倍积分券等多种类型的优惠。
智能问数:AI自动从数据源从提取你想要的数据 智能仪表盘: 点击图表的智能分析,一键生成图表的详细分析
- Spring Boot 2.7.0
- Spring MVC
- Spring Cloud Alibaba 2021.0.4.0
- Nacos 注册、配置中心
- MySQL 数据库
- RocketMQ 消息队列
- xxl-job 分布式定时任务调度
- Redis 缓存
- WebSocket 双向通信
- 腾讯云COS存储
- Swagger + Knife4j 接口文档
- Jakarta.Mail 邮箱通知、验证码
- Apache Commons Lang3 工具类
- MyBatis-Plus 及 MyBatis X 自动生成
- Hutool、Apache Common Utils 等工具库
-
React 18
-
Ant Design Pro 5.x 脚手架
-
Ant Design & Procomponents 组件库
-
Umi 4 前端框架
-
OpenAPI 前端代码生成
Github:
Gitee:
src目录 | 描述 |
---|---|
admin-backend | 后台管理服务 |
db-engine | 数据引擎服务 |
framework | 项目公共模块 |
gateway | 网关服务 |
points-service | 积分与优惠券服务 |
src目录 | 描述 |
---|---|
annotation | 自定义注释目录 |
aop | aop目录 |
dataloomzmq | 消息队列目录 |
common | 公共模块目录 |
config | 公共配置目录 |
constant | 常量目录 |
controller | 接口目录 |
exception | 自定义异常目录 |
job | 定时任务目录 |
manager | 服务、中间件目录 |
mapper | mapper目录 |
model | 模型目录 |
service | service目录 |
utils | 工具包目录 |
websocket | websocket目录 |
环境要求:Node.js >= 16
安装依赖:
yarn or npm install
启动:
yarn run dev or npm run start:dev
部署:
yarn build or npm run build
请确保你包含以下中间件:
- MySQL
- RabbitMQ
- Redis
- XXL-JOB
- Nacos
- 执行sql目录下create_table.sql、create_datasource_database.sql
- 替换配置文件application.yml中打上xxx的属性值
- 将在nacos中创建命名空间dev
- 在nacos配置管理的配置列表中新增配置文件
- 添加启动环境变量,nacos-server = xxx.xxx.xxx.xxx(nacos地址)
如果你发现项目中的任何问题或错误,或者想要对项目进行改进,可以通过以下方式报告问题或提交Pull Request:
- 打开一个Issue,详细描述你的问题或需求。
- 如果你有修复问题的代码,可以创建一个Pull Request,在新分支上修改代码,并将代码合并到主分支。
感谢你对项目的贡献!