1)在GitHub上创建仓库
2)建立本地仓库
3) 将所有文件添加到仓库中
git add .
4)修改文件描述
git commit -m "first commit"
5)关联github仓库
git branch -M main git remote add origin git@github.com:nanchengcyu/TechMindWave-frontend.git
6)上传本地代码
git push -u origin main
企业中的那些多环境
原文链接
https://mp.weixin.qq.com/s/LWQolvFQQndBhFQ2lP2vhQ
代码仓库分支含义
master 分支
master 为主分支,也是用于部署生产环境的分支,需要确保master分支稳定性。master 分支一般由 release 以及 hotfix 分支合并,任何时间都不能直接修改代码。
develop 分支
develop 为开发环境分支,始终保持最新完成以及bug修复后的代码,用于前后端联调。一般开发的新功能时,feature分支都是基于develop分支创建的。
feature 分支
开发新功能时,以develop为基础创建feature分支。
分支命名时以feature/开头,后面可以加上开发的功能模块, 命名示例:feature/user_module、feature/cart_module
test分支
test为测试环境分支,外部用户无法访问,专门给测试人员使用,版本相对稳定。
release分支
release 为预上线分支(预发布分支),UAT测试阶段使用。一般由 test 或 hotfix 分支合并,不建议直接在 release 分支上直接修改代码。
hotfix 分支
线上出现紧急问题时,需要及时修复,以master分支为基线,创建hotfix分支。修复完成后,需要合并到 master 分支和 develop 分支。
分支命名以hotfix/ 开头的为修复分支,它的命名规则与 feature 分支类似。
分支与环境对应关系
在系统开发过程中常用的环境:
- DEV 环境(Development environment):用于开发者调试使用
- FAT环境(Feature Acceptance Test environment):功能验收测试环境,用于测试环境下的软件测试者测试使用
- UAT环境 (User Acceptance Test environment):用户验收测试环境,用于生产环境下的软件测试者测试使用
- PRO 环境(Production environment):生产环境
对应关系:
分支 |
功能 |
环境 |
可访问 |
master |
主分支,稳定版本 |
PRO |
是 |
develop |
开发分支,最新版本 |
DEV |
是 |
feature |
开发分支,实现新特性 |
否 |
|
test |
测试分支,功能测试 |
FAT |
是 |
release |
预上线分支,发布新版本 |
UAT |
是 |
hotfix |
紧急修复分支,修复线上bug |
否 |
项目背景
什么是 BI?
即商业智能:数据可视化、报表可视化系统
主流 BI 平台:帆软 BI、小马 BI、微软 Power BI
传统 BI 平台:
https://chartcube.alipay.com/
1需要人工上传数据
2需要人工拖选分析要用到的数据行和列(数据分析师)
3需要人工选择图表类型(数据分析师)
4生成图表并保存配置
智能 BI 平台:
区别于传统的 BI,用户(数据分析者)只需要导入最最最原始的数据集,输入想要进行分析的目标(比如帮我分析一下网站的增长趋势),就能利用 AI 自动生成一个符合要求的图表以及结论。
优点:让不会数据分析的同学也能通过输入目标快速完成数据分析,大幅节约人力成本。
会用到 AI 接口
需求分析
1智能分析:用户输入目标和原始数据(图表类型),可以自动生成图表和分析结论
2图表管理
3图表生成的异步化(消息队列)
4对接 AI 能力
架构图
基础流程:
优化流程(异步化):
技术栈
前端
1.React
2.Umi
3.Ant Design Pro
4.可视化开发库:Echarts √ 、HighChairts + AntV
5.umi openapi 代码生成:自动生成后端调用代码
6.EChart 图表生成
后端
1.Spring Boot:万用模板
2.MySQL数据库
3.Redis:Redissson限流控制
4.MyBatis Plus 数据库访问结构
5.消息队列:RabbitMQ
6.AI能力:Open AI接口开发
7.Excel上传和数据的解析:Easy Excel
8.Swagger + Knife4j 项目文档
9.Hutool 工具库
平台功能介绍
- 用户登录,注册。
- 智能图表分析(同步)。调用AI根据用户上传csv文件生成对应的 JSON 数据,并使用 ECharts图表 将分析结果可视化展示。
- 智能图表分析(异步)。使用了线程池异步生成图表,最后将线程池改造成使用 RabbitMQ消息队列 保证消息的可靠性,实现消息重试机制。
- 智能文本分析(异步)。使用了线程池异步生成markdown文本,最后将线程池改造成使用 RabbitMQ消息队列 保证消息的可靠性,实现消息重试机制。
- 智能问题分析(异步)。使用了线程池异步生成问题解决答案,最后将线程池改造成使用 RabbitMQ消息队列 保证消息的可靠性,实现消息重试机制。
- 个人管理图表/文本/问题,增删改查。
- 个人信息管理,头像,名字,账号等的修改。
- 管理员管理,支持图表/文本/问题增删改查,新增用户,修改用户,删除用户,查看用户,增删改查等。
- 用户限流。本项目使用到令牌桶限流算法,使用Redisson实现简单且高效分布式限流,限制用户每秒只能调用一次数据分析接口,防止用户恶意占用系统资源
- 调用AI进行数据分析,并控制AI的输出。
- 由于AIGC的输入 Token 限制,使用 Easy Excel 解析用户上传的 XLSX 表格数据文件并压缩为CSV,实测提高了20%的单次输入数据量、并节约了成本。
- 后端自定义 Prompt 预设模板并封装用户输入的数据和分析诉求,通过对接 AIGC 接口生成可视化图表 JSON 配置和分析结论,返回给前端渲染。
平台相关页面截图展示
网站名字
改名了,这是之前版本的名字
我的选择
WiseGraphs:将"Wise"(意为智慧)和"Graphs"(意为图表)结合,强调图表的智能化。
副标题:智能可视化,数据一目了然
前后端相关网站链接
RabbitMQ网站地址:
ant-design 官网镜像地址:
http://ant-design.gitee.io/index-cn
ant-design-pro镜像地址:
http://ant-design-pro.gitee.io/index-cn
antd-mobile镜像地址:
https://antd-mobile.gitee.io/index-cn
前端项目初始化
Install node_modules:
npm install
OR
yarn
启动项目
npm start
构建项目
npm run dev
前端初始化问题解决
1.依赖缺失解决(主要更改包名后的报错解决方法)
后端项目初始化
- 下载/拉取本项目到本地
- 通过 IDEA 代码编辑器进行打开项目,等待依赖的下载
- 修改配置文件application.yaml的信息,比如数据库、Redis、RabbitMQ等
- 修改信息完成后,通过 NanchengyuApplication 程序进行运行项目
- 队列生成