👉 这是一个或许对你有用的社群

🐱 一对一交流/面试小册/简历优化/求职解惑,欢迎加入「芋道快速开发平台」知识星球。下面是星球提供的部分资料: 

👉这是一个或许对你有用的开源项目

国产Star破10w的开源项目,前端包括管理后台、微信小程序,后端支持单体、微服务架构

RBAC权限、数据权限、SaaS多租户、商城、支付、工作流、大屏报表、ERP、CRMAI大模型、IoT物联网等功能:

  • 多模块:https://gitee.com/zhijiantianya/ruoyi-vue-pro

  • 微服务:https://gitee.com/zhijiantianya/yudao-cloud

  • 视频教程:https://doc.iocoder.cn

【国内首批】支持 JDK17/21+SpringBoot3、JDK8/11+Spring Boot2双版本 

来源:极客之家


昨天在 GitHub 上瞎逛,又发现了个有意思的玩意儿。这次不是又一个前端框架,而是一个让我这种“后端佬”眼前一亮的工具——Shaper。

说实话,现在各种可视化、BI工具多如牛毛,从臃肿的商业软件到各种云上服务。但每次想快速整一个内部看板,过程都差不多:先用 SQL 客户端连上数据库查数据,导出成 CSV,再导入到某个图表工具里,调样式、拉筛选器。一套流程下来,半个上午没了,数据链路还脆得像饼干。

Shaper 的思路,一下就戳中了我。它的核心理念就一句话:既然所有数据最后都能用 SQL 拿到,那为什么不能用 SQL 来定义整个仪表盘?

简介

简单说,Shaper 是一个可以自己部署的、用 SQL 来驱动一切 的数据可视化工具。后端是 Go,前端是 React,整个项目开源,扔在 Docker 里一条命令就能跑起来。

基于 Spring Boot + MyBatis Plus + Vue & Element 实现的后台管理系统 + 用户小程序,支持 RBAC 动态权限、多租户、数据权限、工作流、三方登录、支付、短信、商城等功能

  • 项目地址:https://github.com/YunaiV/ruoyi-vue-pro

  • 视频教程:https://doc.iocoder.cn/video/

功能特性

广泛的数据源支持

Shaper支持加载几乎我们能想到的所有常见数据源:从本地的CSV、JSON、Parquet、Excel、文本文件,到远程的HTTP文件、Amazon S3存储,再到主流的数据库如PostgreSQL、SQLite、MySQL,当然,还包括其原生引擎DuckDB。

最重要的是,借助DuckDB强大的扩展生态系统,Shaper还能间接读取Snowflake、BigQuery、ClickHouse、Arrow Flight、Iceberg乃至Google Sheets等数据源。这意味着我们可以用一个工具统一访问分散在各处的数据。

动态与可嵌入的交互式仪表盘

Shaper生成的仪表盘是高度动态和交互式的。我们可以轻松添加数据过滤器,让仪表盘上的所有组件联动更新。同时,它支持图表注解,并能灵活显示或隐藏特定部件。

对于希望将分析能力嵌入自己产品的开发者,Shaper提供了JavaScript嵌入式API,允许我们将仪表盘无缝集成到Web应用中,并通过JWT Token机制来管理访问权限,实现安全的内部分享。

自动化与工程化的工作流

Shaper充分考虑到了生产环境的需求。它支持创建定时任务,自动执行SQL脚本,可用于定时拉取远程数据、执行ETL转换或清理历史数据。

更重要的是,整个仪表盘的构建完全基于SQL脚本文件,这使得我们可以像管理代码一样,使用任何文本编辑器来编写和维护,并利用Git进行版本控制,轻松集成到团队的CI/CD(持续集成/持续部署)流水线中。

便捷的分享与导出

分析结果需要被看见。Shaper支持生成可在线分享的仪表盘链接,并可选择设置密码保护,方便安全地与他人协作。

同时,分析结果可以方便地导出为CSV、Excel等数据文件,或直接生成精美的PDF报告,满足不同场景下的汇报需求。

基于 Spring Cloud Alibaba + Gateway + Nacos + RocketMQ + Vue & Element 实现的后台管理系统 + 用户小程序,支持 RBAC 动态权限、多租户、数据权限、工作流、三方登录、支付、短信、商城等功能

  • 项目地址:https://github.com/YunaiV/yudao-cloud

  • 视频教程:https://doc.iocoder.cn/video/

一键部署

Shaper的安装体验非常友好,官方推荐使用Docker进行快速部署,这几乎是最简单的方式。只需一行命令:

docker run --rm -it -p5454:5454 -v ./mydata:/data taleshape/shaper

这条命令会拉取最新镜像,将容器的5454端口映射到本地,并挂载一个本地目录用于持久化数据。执行后,在浏览器中访问 http://localhost:5454/,点击“+ New”即可开始创建我们的第一个可视化仪表盘。

效果展示

我们写完一段 SQL,查出数据。在别的工具里,你得手动去点选“这里用柱状图”、“那里显示成表格”。在 Shaper 里,你不用离开编辑框。你直接告诉它:

SELECT 'Sessions per Week'::LABEL;
SELECT
  date_trunc('week', created_at)::XAXIS,
  category::CATEGORY,
  count()::BARCHART_STACKED,
FROM dataset
GROUP BY ALL ORDER BY ALL;

然后它就真的给我们生成一个可交互的图表:

开源地址

https://github.com/taleshape-com/shaper


欢迎加入我的知识星球,全面提升技术能力。

👉 加入方式,长按”或“扫描”下方二维码噢

星球的内容包括:项目实战、面试招聘、源码解析、学习路线。

文章有帮助的话,在看,转发吧。
谢谢支持哟 (*^__^*)
Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐