Orange 单体架构 - 快速启动
1 后端服务
1.1 基础设施
| 组件 | 说明 | 版本 |
|---|---|---|
| MySQL | MySQL数据库服务 | 5.7/8+ |
| Java | Java | 17 |
| redis-stack | Redis向量数据库 | 最新版本 |
| Node | 安装Node | 22.11.0+ |
1.2 orange-dependencies-parent
项目Maven依赖版本管理
1.2.1 项目克隆
- GitHub
git clone https://github.com/hengzq/orange-dependencies-parent.git
- Gitee
git clone https://gitee.com/hengzq/orange-dependencies-parent.git
1.2.2 项目编译
-
方式一
使用IDEA自带的Maven插件,进行编译。如下图所示:

- 方式二
使用 Maven 命令编译
mvn clean install package '-Dmaven.test.skip=true'
1.3 orange-starters
通用项目Starter管理
1.3.1 项目克隆
- GitHub
git clone https://github.com/hengzq/orange-starters.git
- Gitee
git clone https://gitee.com/hengzq/orange-starters.git
1.3.2 项目编译
参考:orange-dependencies-parent 项目编译
1.4 orange-system
系统模块涵盖了部门管理、用户管理、菜单配置、角色分配、字典维护以及日志记录等功能。
1.4.1 项目克隆
- GitHub
git clone https://github.com/hengzq/orange-system.git
- Gitee
git clone https://gitee.com/hengzq/orange-system.git
1.4.2 项目编译
参考:orange-dependencies-parent 项目编译
1.4.3 初始化 MySQL
执行项目中的SQL脚本进行MySQL初始化 orange-system MySQL脚本
1.5 orange-ai
Orange-AI 提供了简便的工具,能够快速集成并高效测试来自阿里、智谱、OpenAI等领先供应商的大规模模型。
1.5.1 项目克隆
- GitHub
git clone https://github.com/hengzq/orange-ai.git
- Gitee
git clone https://gitee.com/hengzq/orange-ai.git
1.5.2 项目编译
参考:orange-dependencies-parent 项目编译
1.5.3 初始化 MySQL
执行项目中的SQL脚本进行MySQL初始化 orange-ai MySQL脚本
1.6 orange-monomer
依托Orange System及Orange AI插件,构建一体化的单体架构服务
1.6.1 项目克隆
- GitHub
git clone https://github.com/hengzq/orange-monomer.git
- Gitee
git clone https://github.com/hengzq/orange-monomer.git
1.6.2 项目启动
执行 Application 类,进行启动。

启动完成后,使用浏览器访问http://localhost:8080/doc.html地址,查看Swagger文档。如下图所示:

2 前端服务
2.1 orange-tiny-vue3-ui
前端服务使用 Vue3 和 TinyPro 技术栈构建了一个高效且功能丰富的管理后台。
2.1.1 项目克隆
- GitHub
git clone https://github.com/hengzq/orange-tiny-vue3-ui.git
- Gitee
git clone https://gitee.com/hengzq/orange-tiny-vue3-ui.git
2.1.2 项目运行
- 启动项目
# 进入项目目录cd orange-tiny-vue3-ui# 安装依赖npm install# 指定 registry 来解决 npm 安装速度慢的问题。npm install --registry=https://registry.npmmirror.com# 项目启动npm run start
- 预览
打开浏览器,输入:[http://localhost:3031/](http://localhost:3031/)
账号:admin 密码:hengzq.cn
项目体验
- Orange 官网: http://hengzq.cn
- 在线体验: http://tiny.hengzq.cn
- 项目文档: http://hengzq.cn/orange-monomer/
- 单体架构-后端源码下载【GitHub】: https://github.com/hengzq/orange-monomer
- 单体架构-后端源码下载【Gitee】: https://gitee.com/hengzq/orange-monomer
- 微服务版本-后端源码下载【GitHub】: https://github.com/hengzq/orange-cloud
- 微服务版本-后端源码下载【Gitee】: https://gitee.com/hengzq/orange-cloud
- 前端源码下载【GitHub】: https://github.com/hengzq/orange-cloud
- 前端源码下载【Gitee】: https://gitee.com/hengzq/orange-cloud
注:前端项目设计灵活,能够同时兼容后端的单体架构和微服务架构
相关文档
- Orange 开源项目介绍
- Orange 单体架构 - 快速启动
相关文章:
Orange 单体架构 - 快速启动
1 后端服务 1.1 基础设施 组件说明版本MySQLMySQL数据库服务5.7/8JavaJava17redis-stackRedis向量数据库最新版本Node安装Node22.11.0 1.2 orange-dependencies-parent 项目Maven依赖版本管理 1.2.1 项目克隆 GitHub git clone https://github.com/hengzq/orange-depende…...
【SQL】多表查询案例
📢本章节主要学习使用SQL多表查询的案例,多表查询基础概念 请点击此处。 🎄数据准备 首先我们创建一个新的表也就是薪资等级表,其余两个表(员工表和薪资表)在多表查询章节中已经创建。然后我么根据这三个表完成下面的12个需求。 create tab…...
springboot系列十四: 注入Servlet, Filter, Listener + 内置Tomcat配置和切换 + 数据库操作
文章目录 注入Servlet, Filter, Listener官方文档基本介绍使用注解方式注入使用RegistrationBean方法注入DispatcherServlet详解 内置Tomcat配置和切换基本介绍内置Tomcat配置通过application.yml完成配置通过类配置 切换Undertow 数据库操作 JdbcHikariDataSource需求分析应用…...
力扣-贪心-53 最大子数组和
思路 先把每一个值都加到当前集合中,记录当前的和,直到当前记录和小于0了,再重置改记录,再次尝试累加 代码 class Solution { public:int maxSubArray(vector<int>& nums) {int res INT32_MIN;int curSum 0;for(in…...
吃一堑长一智
工作中经历,有感触记录下 故事一 以前在一家公司时,自己是一名开发人员,遇到问题请教领导解决方案,当时领导给了建议,后来上线后出问题了,背了锅。心里想的是领导说这样做的呀,为什么出问题还…...
aws(学习笔记第二十九课) aws cloudfront hands on
aws(学习笔记第二十九课) 使用aws cloudfront 学习内容: 什么是aws cloudfront练习使用aws cloudfront 1. 什么是aws cloudfront aws cloudfront的整体架构 这里可以看出,aws引入了edge location的概念,用户的client与edge location进行是…...
deepseek自动化代码生成
使用流程 效果第一步:注册生成各种大模型的API第二步:注册成功后生成API第三步:下载vscode在vscode中下载agent,这里推荐使用cline 第四步:安装完成后,设置模型信息第一步选择API provider: Ope…...
【C++八股】内存对⻬
内存对齐是指编译器按照特定规则安排数据在内存中的存储位置,以提高程序的执行效率和可移植性。 内存对齐的原因: 1. 性能优化: 现代处理器通常要求数据在内存中按照特定的边界对齐,以提高内存访问效率。 如果数据未对齐&#x…...
idea连接gitee后.反向创建仓库和分支
文章目录 自动关联你登录的账号填写你的仓库和分支完成后会在gitee上创建一个仓库 (使用idea远程兼容gitee并反向创建仓库和分支) 自动关联你登录的账号 填写你的仓库和分支 完成后会在gitee上创建一个仓库...
汽车自动驾驶辅助L2++是什么?
自动驾驶辅助级别有哪些? 依照SAE(SAE International,Society of Automotive Engineers国际自动机工程师学会)的标准,大致划分为6级(L0-L5): L0人工驾驶:即没有驾驶辅助…...
围棋打谱应用软件设计制作
围棋打谱应用软件设计制作 五子棋游戏是大家耳熟能详的游戏,深受大众喜爱。可见其在智能游戏中的地位。我在本站发了好几篇文章介绍编制方法和算法。而类似的围棋游戏则是智能游戏的顶级存在。今在此基础上编制一款围棋打谱软件。当然这是简单的游戏程序࿰…...
论文笔记-WSDM2025-ColdLLM
论文笔记-WSDM2025-Large Language Model Simulator for Cold-Start Recommendation ColdLLM:用于冷启动推荐的大语言模型模拟器摘要1.引言2.前言3.方法3.1整体框架3.1.1行为模拟3.1.2嵌入优化 3.2耦合漏斗ColdLLM3.2.1过滤模拟3.2.2精炼模拟 3.3模拟器训练3.3.1LLM…...
线代[8]|北大丘维声教授《怎样学习线性代数?》(红色字体为博主注释)
文章目录 说明一、线性代数的内容简介二、学习线性代数的用处三、线性代数的特点四、学习线性代数的方法五、更新时间记录 说明 文章中红色字体为博主敲录完丘教授这篇文章后所加,刷到这篇文章的读者在首次阅读应当跳过红色字体,先通读一读文章全文&…...
使用 C++ 和 gRPC 的常见陷阱及解决方案
文章目录 1. 环境配置的陷阱1.1 依赖版本冲突或混淆1.2 gRPC 工具缺失 2. 编译和链接的陷阱2.1 运行时库不匹配(/MT vs /MD)2.2 未解析的外部符号 3. Protobuf 文件生成的陷阱3.1 工具版本不匹配3.2 生成文件运行时库不一致 4. 运行时的陷阱4.1 缺少 DLL…...
《深度学习实战》第2集:卷积神经网络(CNN)与图像分类
《深度学习实战》第2集:卷积神经网络(CNN)与图像分类 引言 卷积神经网络(Convolutional Neural Network, CNN)是深度学习在计算机视觉领域的核心工具。从早期的 LeNet 到现代的 ResNet 和 Vision Transformer…...
AD(Altium Designer)器件封装——立创商城导出原理图和PCB完成器件封装操作指南
目录 1、立创商城下载原理图和PCB图 1.1 打开立创商城 1.2 寻找所需器件 1.3 确定所需芯片 1.4 打开原理图和PCB图 1.5 导出原理图 1.6 确定导出为AD文件 1.7 下载成功 1.8 导出PCB 1.9 确定导出为AD文件 1.10 原理图PCB下载成功 2、原理图和PCB图预处理 2.1 复制…...
DeepSeek掘金——调用DeepSeek API接口 实现智能数据挖掘与分析
调用DeepSeek API接口:实现智能数据挖掘与分析 在当今数据驱动的时代,企业和开发者越来越依赖高效的数据挖掘与分析工具来获取有价值的洞察。DeepSeek作为一款先进的智能数据挖掘平台,提供了强大的API接口,帮助用户轻松集成其功能到自己的应用中。本文将详细介绍如何调用D…...
LangChain系列:精通LangChain的合并文档链
LangChain的合并链旨在解决语言模型处理长文本时的上下文限制问题,包含Stuff、MapReduce、Refine和Rerank四种策略。Stuff链通过简单拼接文档块实现快速处理,适用于短文本但受限于模型token容量;MapReduce链采用分治思想,先独立处…...
rtcwake - Linux下定时唤醒计算机
rtcwake 是一个用于通过实时时钟(RTC)唤醒计算机的工具。它常用于在 Linux 系统中设置计算机在指定时间自动唤醒或关闭。以下是对命令 rtcwake -m off -s ${sleep_time} 的详细解析: 命令解析 bash复制 rtcwake -m off -s ${sleep_time} 1…...
MATLAB在投资组合优化中的应用:从基础理论到实践
引言 投资组合优化是现代金融理论中的核心问题之一,旨在通过合理配置资产,实现风险与收益的最佳平衡。MATLAB凭借其强大的数学计算能力和丰富的金融工具箱,成为投资组合优化的理想工具。本文将详细介绍如何使用MATLAB进行投资组合优化&#…...
热搜第7!《灵魂摆渡》电影竟全AI生成,影视圈要变天了?
近日,一条关于经典国产网剧《灵魂摆渡》的消息悄然爬上微博热搜第7的位置,话题标签#灵魂摆渡电影全AI生成#”瞬间引爆了舆论场。对于许多资深剧迷而言,《灵魂摆渡》不仅是一部剧集,更是一段关于灵异、温情与人生哲理的青春记忆。然…...
从Eclipse到VSCode:RISC-V开发者如何选择最适合自己的IDE(附主流工具对比)
RISC-V开发者的IDE选择指南:从功能对比到决策路径 如果你正在踏入RISC-V开发的世界,面对琳琅满目的集成开发环境(IDE)选项,可能会感到无从下手。Eclipse的传统厚重、VSCode的轻量灵活、商业工具的优化性能,…...
Qianfan-OCR实操手册:批量处理脚本编写与OCR结果去重/合并/校验逻辑
Qianfan-OCR实操手册:批量处理脚本编写与OCR结果去重/合并/校验逻辑 1. 项目概述 Qianfan-OCR是百度千帆推出的开源文档智能多模态模型,基于4B参数的端到端架构设计。相比传统OCR方案,它集成了文字识别、版面分析和文档理解三大核心功能&am…...
DownKyi终极指南:5步掌握B站8K超高清视频下载的完整方法
DownKyi终极指南:5步掌握B站8K超高清视频下载的完整方法 【免费下载链接】downkyi 哔哩下载姬downkyi,哔哩哔哩网站视频下载工具,支持批量下载,支持8K、HDR、杜比视界,提供工具箱(音视频提取、去水印等&…...
SQL如何实现按自定义排序进行分组汇总_ORDERBY与聚合函数
GROUP BY 结果顺序未定义,ORDER BY 仅排序最终结果;需用 CASE WHEN 或 FIELD() 构造有序分组键,再 GROUP BY 该键与原始字段,最后 ORDER BY 控制输出。ORDER BY 不能直接用在 GROUP BY 后做自定义排序分组汇总SQL 标准里ÿ…...
粒子群优化算法(PSO)原理与工程实践指南
1. 粒子群优化算法入门指南在解决复杂优化问题时,传统的梯度下降方法往往需要目标函数的导数信息,这在很多实际场景中难以获取。粒子群优化(Particle Swarm Optimization,PSO)作为一种启发式算法,模拟了鸟群…...
植物大战僵尸终极修改方案:PVZ Toolkit如何让经典游戏焕发新生
植物大战僵尸终极修改方案:PVZ Toolkit如何让经典游戏焕发新生 【免费下载链接】pvztoolkit 植物大战僵尸 PC 版综合修改器 项目地址: https://gitcode.com/gh_mirrors/pv/pvztoolkit 在植物大战僵尸这款经典塔防游戏发布十多年后,许多玩家仍在寻…...
别再纠结用哪个库了!Python量化实战:MyTT、TA-Lib、Pandas TA三大指标库横向评测(附避坑指南)
Python量化实战:三大指标库MyTT、TA-Lib与Pandas TA的深度选型指南 当你在凌晨三点盯着屏幕,反复调试不同库的MACD指标输出时,是否想过——为什么同样的算法会有不同结果?这可能是每个量化开发者都会经历的"黑暗时刻"。…...
从官方Demo工程到实际项目:手把手教你如何安全地‘魔改’FreeRTOS配置(避坑configUSE_TICK_HOOK)
从官方Demo工程到实际项目:手把手教你如何安全地‘魔改’FreeRTOS配置(避坑configUSE_TICK_HOOK) 当你第一次拿到FreeRTOS官方Demo工程时,那种感觉就像获得了一个功能齐全的"瑞士军刀"——它展示了各种RTOS特性的使用方…...
