TechMindWave1

本文涉及的产品
云数据库 Redis 版,社区版 2GB
推荐场景:
搭建游戏排行榜
简介: TechMindWave

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_modulefeature/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 工具库

平台功能介绍

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

平台相关页面截图展示


网站名字

改名了,这是之前版本的名字

我的选择

WiseGraphs:将"Wise"(意为智慧)和"Graphs"(意为图表)结合,强调图表的智能化。

副标题:智能可视化,数据一目了然

前后端相关网站链接

RabbitMQ网站地址:

http://localhost:15672/#/

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.依赖缺失解决(主要更改包名后的报错解决方法)

后端项目初始化

  1. 下载/拉取本项目到本地
  2. 通过 IDEA 代码编辑器进行打开项目,等待依赖的下载
  3. 修改配置文件application.yaml的信息,比如数据库、Redis、RabbitMQ等
  4. 修改信息完成后,通过 NanchengyuApplication 程序进行运行项目
  5. 队列生成


相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
目录
相关文章
|
7月前
|
安全 Linux 开发工具
狂神聊Git~
狂神聊Git~
|
7月前
|
消息中间件 人工智能 前端开发
TechMindWave从0到1-开发到部署1
TechMindWave从0到1-开发到部署
30 0
|
7月前
|
消息中间件 前端开发 Java
TechMindWave2
TechMindWave
40 0
|
7月前
|
消息中间件 前端开发 NoSQL
TechMindWave从0到1-开发到部署2
TechMindWave从0到1-开发到部署
22 0
|
9月前
|
安全 开发工具 git
Git奇幻之旅二
今天我要给你讲一个关于Git的故事,希望你能从中学到一些常用的命令!
|
9月前
|
安全 程序员 开发工具
Git奇幻之旅一
今天我要给你讲一个关于Git的故事,希望你能从中学到一些常用的命令。
|
开发工具 git
哎呦我去,Git 竟然可以这么用?!!
用好 Git 很难: 很容易就犯错了,然后想自己弥补犯下的错,简直太难了。
149 0
|
Shell 网络安全 开发工具
Git教程3(远程仓库)
git是一个分布式版本控制系统,虽然远程仓库不是必须的,但是我们在开发过程中为了便于团队协同开发,所以我们还是会搭建一个远程仓库,本文我们将使用github作为我们的远程仓库来操作。GitHub是一个为git提供托管服务的服务器,我们只需要注册一个GitHub账号即可使用
Git教程3(远程仓库)
|
开发工具 git
Hexo+OSChina(码云)+git 搭建个人博客
1). 安装Node 2). 安装Git 3). 注册码云 4). 安装Hexo npm install hexo-cli -g 图1.
2622 0
|
Shell 网络安全 开发工具