# mulanbay-server3 **Repository Path**: hmjy/mulanbay-server3 ## Basic Information - **Project Name**: mulanbay-server3 - **Description**: SpringBoot3版本。木兰湾是用于管理个人消费、锻炼、音乐、阅读、健康、饮食、人生经历等各个衣食住行信息的系统,由统计、计划模块利用调度系统来统计分析各项数据,并通过积分和评分体系来综合评估个人的总体状态,同时采用机器学习算法对数据进行预测。系统基于SpringBoot3前后端分离,技术栈:Spring6、Hibernate6、Quartz、Vue3 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 15 - **Created**: 2025-06-17 - **Last Updated**: 2025-06-17 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## 项目介绍 木兰湾是用于管理个人消费、锻炼、音乐、阅读、健康、饮食、人生经历等各个衣食住行信息的系统,由统计、计划模块利用调度系统来统计分析执行情况。 并通过积分和评分体系来综合评估个人的总体状态,同时采用机器学习算法对数据进行预测。 系统作为一个个人综合管理系统,它主要解决三个问题: * 我的计划(期望)是什么?--> (模块:统计、计划) * 我要做什么?--> (模块:日历) * 我做了什么?--> (模块:行为分析) 基于以上三个问题,我们是否可以去思考以下两个问题: * 我是怎么样的人?(用户画像) * 我将会怎么样? (机器学习)-->(模块:数据预测) 新版本的木兰湾项目采用了SpringBoot3,Vue3重构设计。 该系统是前后端分离的项目,当前项目mulanbay-server3为后端API项目,只提供系统的api接口,整个系统必须要同时运行前端才能完整访问。 前端项目 * 基于Vue3的前端(PC端)[mulanbay-ui-vue3](https://gitee.com/mulanbay/mulanbay-ui-vue3) * 基于Uni-APP的前端(APP端)[mulanbay-app](https://gitee.com/mulanbay/mulanbay-app) 算法端项目: * 基于sklearn的机器学习(python)[mulanbay-sklearn](https://gitee.com/mulanbay/mulanbay-sklearn) (对于数据预测,mulanbay-sklearn负责算法,生成pmml模型文件,java端mulanbay-server通过jpmml库加载模型文件对业务数据进行预测) ### 木兰湾项目概况 [木兰湾项目说明](https://gitee.com/mulanbay) ### 功能简介 * 基于RBAC的用户权限管理 * 支持分布式运行的调度功能 * 基于AHANLP的自然语言学习服务 * 提供消费、锻炼、音乐、阅读、健康、饮食、人生经历等常用模块 * 统一的日志管理及日志流分析 * 提供基于模板化的统计、计划、图表、行为配置及分析 * 统一的日历管理,提供日历自动新增、完成功能 * 提供磁盘、CPU、内存的监控及报警,并可以自动恢复 * 数据库数据、备份文件自动清理 * 统一及强大的图表统计分析功能 * 基于微信公众号消息、邮件的消息提醒服务 * 基于错误代码的消息发送可配置化 * 基于Hibernate的配置化的查询便捷封装 * 提供可配置的个人积分和评分体系 * 提供多角度的用户行为分析 * 提供词云、相似度、智能问答等分析功能 * 基于sklearn的机器学习对一些数据进行预测 ### 软件要求 | 软件 | 版本 | | ---------------------- |-------| | JDK | 17+ | | Nginx | 1.17+ | | Redis | 7.0+ | | Mysql | 8.0+ | 备注: (1)因为SQL语句采用了代码块等新特性,并且项目基于SpringBoot3,因此低版本的JDK不再支持。 (2)以上四个软件是项目运行的必备软件,请在部署前安装完毕。 ### 硬件要求 内存4G+ ### 所用技术 * 前端:Vue3、Element Plus、Echarts * 后端:SpringBoot3、Hibernate、Quartz、NLP、Redis & Jwt | 核心依赖 | 版本 | | ---------------------- |-------| | Spring Boot | 3.2.X | | Hibernate | 6.X | | Quartz | 2.3.X | ### 项目结构 ``` lua mulanbay-server ├── mulanbay-ai -- 机器学习模块,数据预测 ├── mulanbay-business -- 通用业务类 ├── mulanbay-common -- 公共模块 ├── mulanbay-persistent -- 持久层基于hibernate的封装 ├── mulanbay-pms -- 木兰湾API接口层 ├── mulanbay-schedule -- 调度模块封装 ├── mulanbay-web -- 基于SpringMVC的一些封装 ``` ### 项目运行与部署 #### 1. 版本升级 4.0-->5.0 如果您的项目原来是基于4.0版本部署的,需要保留原来的用户数据,那么数据库数据需要进行升级,改动比较多,务必先备份数据库。 ``` Step 1:备份原有数据库,避免升级失败。备份命令可参考: mysqldump -h 127.0.0.1 -u root -p --opt -R mulanbay_db > /您的路径/mulanbay_db.sql Step 2:数据库数据升级 在MySQL终端执行 mulanbay-server3的docs目录下v4_to_v5.sql,命令可参考: source /您的路径/v4_to_v5.sql ``` #### 2. 数据库初始化 如果您是全新部署5.0版本项目,步骤如下: ``` 初始化数据库 1. 下载源代码 2. 在mysql中创建数据库,比如:mulanbay_db 3. 初始化数据库,执行mulanbay-server3工程docs目录下的sql文件:mulanbay_init.sql 附:数据库导入方法: 1. 进入mysql终端 mysql -u root -p 注:如果是windows环境,则需要设置字符集,否则会出现 No connection. Trying to reconnect... mysql -u root -p --default-character-set=utf8mb4 2. 创建数据库 create database mulanbay_db DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; 3. 选择数据库 use mulanbay_db 4. 导入数据库 source /xx/xx/xx/mulanbay_init.sql(数据库文件绝对路径) ``` #### 3. 配置及部署 数据库升级或部署完成后,接着进行配置文件配置。 ``` # Step 1:修改配置文件 1. 在子模块mulanbay-pms/src/main/resources/目录下复制application-local-template.yml文件并重命名为application-local.yml,设置本地配置。 其中Mysql数据库配置、Redis配置为必须配置,如果需要使用微信公众号的消息发送功能,需要配置. 注意:您也可以直接在application.yml文件上修改配置,不配置本地化文件application-local.yml,只是后续软件升级会稍微麻烦点。 2. 智能客服、词云、商品重复度、饮食重复度等需要用到AHANLP的自然语言处理,需要配置hanlp.properties,ahanlp.properties * hanlp.properties文件中需要设置根路径,如:root=D:/ws/AHANLP_base-1.3 * ahanlp.properties文件中需要设置里面的各个配置项 * NLP所需要的ahanlpData文件包,请到百度网盘下载:(链接: https://pan.baidu.com/s/1demdX1GjhMiJqM58bJzriQ 提取码: gqcs ) 或者直接去原作者项目处下载:https://github.com/jsksxs360/AHANLP/blob/master/github/w2v.md(V20210720版本) 说明: 【模型】Google_word2vec_zhwiki210720_300d.bin 【语料】zhwiki_210720_preprocessed.simplied.zip 注意:application-local.yml、hanlp.properties、ahanlp.properties都需要配置 微信公众号及邮件发送配置请参考文档目录下:后端手册--消息发送 # Step 2:打包&运行 (1)如果您是专业的后端开发人员,可以自己运行或者打包 1. 开发环境 运行mulanbay-pms子工程下的cn.mulanbay.pms.web.Application 2. 正式环境 * 进入到mulanbay-server3目录,运行mvn clean package * 运行mulanbay-pms/target下的mulanbay-api.jar文件 (2)如果您不是开发者,或者没有相关后端开发经验,您可以直接使用release出来的版本进行运行,不过配置文件还是需要根据上一个步骤里面的"修改配置文件"步骤进行本地化配置,配置完后需要替换掉压缩包里面的文件。 release文件下载地址:https://gitee.com/mulanbay/mulanbay-server3/releases 注意:application-local.yml、hanlp.properties、ahanlp.properties都需要配置,且需要打包到mulanbay-pms-5.0.jar里面。 后端项目默认的端口是:8080 ``` #### 4. Nginx配置 木兰湾是前后端分离版本,mulanbay-server3后端api运行后,需要再运行前端项目。 (1)如果您是开发环境以源码方式运行,那么直接可以访问前端的地址就可以了,无需使用Nginx. (2)如果您是正式环境以jar包方式运行,那么需要使用Nginx进行前后端跨域配置才能访问,配置如下: ``` upstream server.mulanbay{ server 127.0.0.1:8080; } server { listen 80; server_name localhost; #charset koi8-r; #access_log logs/host.access.log main; # 头像地址 location /20 { root /your_path/avatar; try_files $uri $uri/ /index.html; index index.html index.htm; charset utf-8; } # 后端api地址 location /api { root html; index index.html index.htm; proxy_pass http://server.mulanbay; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } # 前端地址 location / { # (发布出的文件夹地址) root /your_path/vue; charset utf-8; try_files $uri $uri/ /index.html; index index.html index.htm; } } ``` 启动Nginx后,在浏览器输入: http://localhost/index 账号密码:mulanbay / 123456 ## 系统架构  ## 在线演示 暂未提供 ## 技术交流 * QQ群:562502224 ## 参考/集成项目 木兰湾参考、集成了一些项目,有些功能自己也只是一个搬运工,先感谢大家的开源。 * 前端(PC)日历组件:[full-calendar](https://fullcalendar.io/) * 自然语言学习:[AHANLP](https://github.com/jsksxs360/AHANLP) * Vue3版本前端(PC):[RuoYi-Vue](https://gitee.com/y_project/RuoYi-Vue),[Element-Plus](https://element-plus.org/zh-CN/) * 自动表单生成:[form-create](https://www.form-create.com/) ## 项目展望 ## 项目截图 ### 基于Vue3的PC端
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
JetBrains开源支持计划:https://jb.gg/OpenSourceSupport.