# bi-project **Repository Path**: hupoyinian/bi-project ## Basic Information - **Project Name**: bi-project - **Description**: BI智能数据分析平台 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 1 - **Created**: 2023-07-07 - **Last Updated**: 2024-05-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # BI数据智能分析平台 ## 项目介绍 本项目基于SpringBoot + MQ + AIGC 的智能数据分析平台。区别于传统BI,用户只需要写入原始数据、并输入分析述求,就能自动生成可视化图表以及分析结论,降低了数据分析成本,提高了数据分析效率。
![登录界面](img/1688807198686-8e5077e0-5b5c-49fc-a845-395746ff1bac.png)
![智能分析(同步)](img/1688807635246-16432ef6-d0a9-4b3a-b721-c3b25bb0ec4d.png)![智能分析(异步)](img/1688807704642-b4b9aa0c-c263-4e1b-9ba4-23c36877f370.png)
![分析结果](img/1688807765538-3baabe94-5689-47f2-8be4-77bdf5b4dc9d.png) ## 技术描述 前端使用了React与AntDesignPro,根据官方文档手册与示例,逐步完成界面的搭建。借助Echarts完成数据图表的可视化。使用OpenAPI快速与后端代码进行对接。

后端以SpringBoot框架为基础,提供服务,处理请求,使用MyBatis和MyBatisPlus与MySQL数据库进行交互。

使用Redis与Redisson对请求进行限流,防止高频请求阻塞服务。

使用JDK线程池与RabbitMQ将耗时的AI请求异步化,削峰填谷提高服务总效率,避免突发流量使服务崩溃。

使用多模块提高服务的高可用性,降低服务维护难度。使用其他后端模块来处理RabbitMQ队列的请求,降低项目的耦合度,提高项目的容灾能力。

通过自定义Prompt预设模板并封装用户输入的数据和分析述求,通过第三方AIGC接口生成可视化图表的Json配置和分析结论,直接返回前端进行渲染。

借助Shell脚本与Docker配合,使得项目可以自动化部署与更新,极大降低维护难度。 ## 项目架构 ![](img/1688808090799-9a8857d3-a027-4fdf-af1d-ae8c8e8ae798.jpeg)
项目主要由三个模块组成,所有模块都被部署在docker中
bi-frontend前端项目部署在nginx中直接对外提供服务
bi-backend后端模块为核心模块,处理所有来自外部的请求,并将AI的异步请求放入RabbitMQ队列中
bi-queue模块,用于消费放在RabbitMQ队列中的AI请求,直接与AI服务进行交互
redis提供限流服务,rabbitMQ存储AI请求,mysql进行数据存储 ## 项目源码与测试网站 gitee:[https://gitee.com/hupoyinian/bi-project](https://gitee.com/hupoyinian/bi-project)
测试网站:[BI数据智能分析平台](https://hupoplus.love)
测试用户:testuser
测试密码:12345678 hp_bi_auto:自动化部署
hp_bi_backend:后端核心模块
hp_bi_frontend:前端模块
hp_bi_queue:队列消息消费模块 # 自动化部署 git:[hp_bi_hupo](https://gitee.com/hupoyinian/hp_bi_auto)
文档:[BI数据智能分析平台-自动化部署脚本](https://www.yuque.com/hupoyinian/cct4tg/cuepk2qq8805f1mh?singleDoc#)