GithubHelp home page GithubHelp logo

judybi-backend's Introduction

Judy智能BI平台

项目介绍

本项目是基于React+Spring Boot+RabbitMQ+AIGC的智能BI数据分析平台。

区别于传统的BI,数据分析者只需要导入最原始的数据集,输入想要进行分析的目标,就能利用AI自动生成一个符合要求的图表以及分析结论。此外,还会有图表管理、异步生成等功能。只需输入分析目标、原始数据和原始问题,利用AI就能一键生成可视化图表、分析结论和问题解答,大幅降低人工数据分析成本。

项目功能

  1. 用户登录
  2. 智能分析(同步)。调用AI根据用户上传csv文件生成对应的 JSON 数据,并使用 ECharts图表 将分析结果可视化展示
  3. 智能分析(异步)。使用了线程池异步生成图表,最后将线程池改造成使用 RabbitMQ消息队列 保证消息的可靠性,实现消息重试机制
  4. 用户限流。本项目使用到令牌桶限流算法,使用Redisson实现简单且高效分布式限流,限制用户每秒只能调用一次数据分析接口,防止用户恶意占用系统资源
  5. 调用AI进行数据分析,并控制AI的输出
  6. 由于AIGC的输入 Token 限制,使用 Easy Excel 解析用户上传的 XLSX 表格数据文件并压缩为CSV,实测提高了20%的单次输入数据量、并节约了成本。
  7. 后端自定义 Prompt 预设模板并封装用户输入的数据和分析诉求,通过对接 AIGC 接口生成可视化图表 JSON 配置和分析结论,返回给前端渲染。

项目核心亮点 ⭐

  1. 自动化分析:通过AI技术,将传统繁琐的数据处理和可视化操作自动化,使得数据分析过程更加高效、快速和准确。
  2. 一键生成:只需要导入原始数据集和输入分析目标,系统即可自动生成符合要求的可视化图表和分析结论,无需手动进行复杂的操作和计算。
  3. 可视化管理:项目提供了图表管理功能,可以对生成的图表进行整理、保存和分享,方便用户进行后续的分析和展示。
  4. 异步生成:项目支持异步生成,即使处理大规模数据集也能保持较低的响应时间,提高用户的使用体验和效率。
  5. 智能数据处理:项目通过AI技术实现了智能化的数据处理功能,能够自动识别和处理各种数据类型、格式和缺失值,提高数据的准确性和一致性。

项目技术栈和特点 ❤️‍🔥

后端

  1. Spring Boot 2.7.2
  2. Spring MVC
  3. MyBatis + MyBatis Plus 数据访问(开启分页)
  4. Spring Boot 调试工具和项目处理器
  5. Spring AOP 切面编程
  6. Spring Scheduler 定时任务
  7. Spring 事务注解
  8. Redis:Redisson限流控制
  9. MyBatis-Plus 数据库访问结构
  10. IDEA插件 MyBatisX : 根据数据库表自动生成
  11. RabbitMQ:消息队列
  12. AI SDK:鱼聪明AI接口开发
  13. JDK 线程池及异步化
  14. Swagger + Knife4j 项目文档
  15. Easy Excel:表格数据处理、Hutool工具库 、Apache Common Utils、Gson 解析库、Lombok 注解

前端

  1. React 18
  2. Umi 4 前端框架
  3. Ant Design Pro 5.x 脚手架
  4. Ant Design 组件库
  5. OpenAPI 代码生成:自动生成后端调用代码(来自鱼聪明开发平台)
  6. EChart 图表生成

后续项目开发

  • 使用vue重构前端
  • 优化增加更多功能

judybi-backend's People

Contributors

judyone1 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.