# 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,用户只需要写入原始数据、并输入分析述求,就能自动生成可视化图表以及分析结论,降低了数据分析成本,提高了数据分析效率。



## 技术描述
前端使用了React与AntDesignPro,根据官方文档手册与示例,逐步完成界面的搭建。借助Echarts完成数据图表的可视化。使用OpenAPI快速与后端代码进行对接。
后端以SpringBoot框架为基础,提供服务,处理请求,使用MyBatis和MyBatisPlus与MySQL数据库进行交互。
使用Redis与Redisson对请求进行限流,防止高频请求阻塞服务。
使用JDK线程池与RabbitMQ将耗时的AI请求异步化,削峰填谷提高服务总效率,避免突发流量使服务崩溃。
使用多模块提高服务的高可用性,降低服务维护难度。使用其他后端模块来处理RabbitMQ队列的请求,降低项目的耦合度,提高项目的容灾能力。
通过自定义Prompt预设模板并封装用户输入的数据和分析述求,通过第三方AIGC接口生成可视化图表的Json配置和分析结论,直接返回前端进行渲染。
借助Shell脚本与Docker配合,使得项目可以自动化部署与更新,极大降低维护难度。
## 项目架构

项目主要由三个模块组成,所有模块都被部署在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#)