TechMindWave1

简介: 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. 队列生成


目录
相关文章
|
存储 自然语言处理 算法
高维向量压缩方法IVFPQ :通过创建索引加速矢量搜索
向量相似性搜索是从特定嵌入空间中的给定向量列表中找到相似的向量。它能有效地从大型数据集中检索相关信息,在各个领域和应用中发挥着至关重要的作用。
830 0
|
监控 Shell Linux
【Shell 命令集合 系统管理 】Linux 自动轮转(log rotation)日志文件 logrotate命令 使用指南
【Shell 命令集合 系统管理 】Linux 自动轮转(log rotation)日志文件 logrotate命令 使用指南
609 0
|
监控 数据可视化 项目管理
WBS元素是什么?在项目管理中的作用与类型定义
工作分解结构(WBS)是项目管理中的重要工具,用于将复杂项目分解为更小、更易管理的任务或工作包。本文介绍了WBS的概念、特点、核心目标及其在项目管理中的作用,包括项目范围定义、任务分配、进度管理、预算控制和风险管理等方面。同时,文章还探讨了几种常见的WBS类型,如交付物导向型、阶段导向型、功能导向型和混合型WBS,并提供了创建有效WBS的步骤建议。最后,推荐了几款实用的项目管理工具,帮助团队更高效地管理和执行项目。
1472 7
|
算法 关系型数据库 MySQL
十五张图带你快速入门 shardingsphere-proxy
Apache ShardingSphere 是一款分布式的数据库生态系统,它包含两大产品: - ShardingSphere-Proxy - ShardingSphere-JDBC 很多同学对于 ShardingSphere-JDBC 已经能非常熟悉的使用了,但关于网上关于 ShardingSphere-Proxy 5.5 的使用教程却非常少。
十五张图带你快速入门 shardingsphere-proxy
|
监控 安全 网络安全
边界防护
【8月更文挑战第18天】
845 2
|
SQL NoSQL 前端开发
大厂如何解决订单幂等问题
本文探讨了分布式系统中接口幂等性的重要性和实现方法,特别是在防止重复下单的场景中。首先介绍了通过数据库事务处理创建订单时的原子性需求。接着分析了服务间调用时可能遇到的重复请求问题,提出每个请求需具备唯一标识,并记录处理状态以识别并阻止重复操作。具体实践包括生成全局唯一的订单ID,利用数据库主键唯一性约束来防止重复插入,以及使用Redis存储订单支付状态。此外,文章还讨论了解决ABA问题(即数据在两次检查之间被修改的问题)的方法,引入版本号机制来确保数据更新的原子性和一致性。这些技术方案不仅限于订单服务,也可广泛应用于需要实现幂等性的其他业务场景中。
|
Java Go PHP
Go - 关于 protoc 工具的小疑惑
Go - 关于 protoc 工具的小疑惑
164 0
|
测试技术 芯片 开发者
芯片验证 | UVM的phase机制
芯片验证 | UVM的phase机制
1012 0
|
运维 Devops 测试技术
Devops 如何使用 Codeup 和流水线构建发布流程
Devops 如何使用 Codeup 和流水线构建发布流程,让发布更顺畅
1554 0
Devops 如何使用 Codeup 和流水线构建发布流程

热门文章

最新文章