一、开源项目简介
BudWk V7 进行了大量重构,与之前版本结构大不相同,增加网关中心、认证中心、控制中心等,并且完全组件化、配置化,大大减轻开发工作量,提升开发效率的同时为产品升级迭代提供了极大便利。
BudWk 原名 NutzWk ,是基于国产框架 nutz 及 nutzboot 开发的开源Web基础项目,集权限体系、系统参数、数据字典、站内消息、定时任务、CMS、微信等最常用功能,不庞杂、不面面俱到,使其具有上手容易、开发便捷、扩展灵活等特性,特别适合各类大中小型定制化项目需求。
二、开源协议
使用MIT开源协议
三、界面展示
四、功能概述
微服务分布式+API网关+前后端分离开发框架
BudWk V7 进行了大量重构,与之前版本结构大不相同,增加网关中心、认证中心、控制中心等,并且完全组件化、配置化,大大减轻开发工作量,提升开发效率的同时为产品升级迭代提供了极大便利。
简单快捷
基于 NutzBoot 和 Nuxt + Vue + ElementUI 快速构建 Web应用系统
功能完善
封装完善的后台管理功能,包括用户、单位、权限、日志、字典、消息、CMS、微信、定时任务等基础功能
组件化开发
封装各功能组件,使开发人员可以专注于业务实现
最新架构
采用最流行的微服务分布式+API网关+前后端分离整体架构思想进行设计
案例丰富
有大量的物联网、车联网、电商、电子政务、金融等行业案例
用户广泛
合肥、南京、北京、上海、杭州、成都、山东等各地公司用户
五、技术选型
本版说明(BudWk v7.x)
运行环境
- JDK 11 + 或 OpenJDK 11 +
- Redis 4.0.8 +
- MariaDB 10.x + 或 MySql 5.7、Oracle、SqlServer、达梦等
- Nacos 2.0.3 +
开发工具
- IntelliJ IDEA
- Visual Studio Code
- Node 12.13.0 +
- Maven 3.6.3 +
- Git
架构图
目录结构
budwk -- 根目录
│ ├─wk-starter -- 组件中心
│ │ ├─wk-starter-common -- 通用类组件
│ │ ├─wk-starter-database -- 数据库组件
│ │ ├─wk-starter-config -- 配置组件(商业版)
│ │ ├─wk-starter-dependencies -- 所有依赖
│ │ ├─wk-starter-dubbo -- Dubbo组件
│ │ ├─wk-starter-email -- Email组件
│ │ ├─wk-starter-gateway -- 网关组件
│ │ ├─wk-starter-job -- 简易定时任务组件
│ │ ├─wk-starter-log -- 日志及SLog组件
│ │ ├─wk-starter-openapi -- 接口文档生成组件
│ │ ├─wk-starter-security -- 权限验证组件
│ │ ├─wk-starter-sms -- 短信发送组件
│ │ ├─wk-starter-storage -- 文件存储组件
│ │ ├─wk-starter-web -- WEB拦截跨越表单验证组件
│ ├─wk-gateway -- 网关中心
│ │ ├─websocket -- WebScoket支持(商业版)
│ ├─wk-platform -- 控制中心
│ │ ├─wk-platform-common -- 通用类供其他模块调用
│ │ ├─wk-platform-server -- 服务类提供API及RPC服务
│ ├─wk-ucenter -- 认证中心
│ ├─wk-cms -- CMS管理
│ │ ├─wk-cms-common -- 通用类供其他模块调用
│ │ ├─wk-cms-server -- 服务类提供API及RPC服务
│ ├─wk-wechat -- 微信管理(商业版)
│ │ ├─wk-wechat-common -- 通用类供其他模块调用(商业版)
│ │ ├─wk-wechat-server -- 服务类提供API及RPC服务(商业版)
│ ├─wk-mini -- 单应用Mini版本
│ ├─wk-vue-admin -- Vue前端代码
│ │ ├─pages-home -- 消息中心
│ │ ├─pages-platform -- 控制中心
│ │ ├─pages-cms -- CMS管理
│ │ ├─pages-wechat -- 微信管理(商业版)
- 代码生成器IDEA插件,请下载安装 budwk-codegenerator
- 推荐组件中心、控制中心、前端等功能模块独立创建Git仓库,便于权限管理及升级迭代
技术选型
后端技术
技术 |
名称 |
Nutz |
JavaEE应用框架 |
NutzBoot |
微服务框架 |
SaToken |
权限框架 |
Druid |
数据库连接池 |
Nacos |
配置及注册中心 |
Dubbo |
分布式服务框架 |
Redis |
分布式缓存数据库 |
Quartz |
作业调度框架 |
IdGenerator |
雪花主键生成 |
Hutool |
工具集合 |
前端技术
技术 |
名称 |
Vue.js |
MVVM框架 |
Nuxt.js |
Vue通用应用框架 |
Element |
基于Vue的UI框架 |
Font-awesome |
字体图标 |
开发指南
- 确保 MySql、Redis、Nacos 默认端口配置并已启动
- MySql 创建名为 budwk_v7 的空数据库,在每个微服务模块启动时会自动建表,同时初始化数据
- 在单个NB模块下执行 mvn compile nutzboot:run 运行或 mvn package nutzboot:shade 生成可执行jar包
- 在后端项目根目录执行 mvn -Dmaven.javadoc.skip=true -Dmaven.test.skip=true -Dnutzboot.dst=E:/dst clean package nutzboot:shade 可将所有可运行jar包生成到指定位置
- 分别启动jar文件 nohup java -jar budwk.jar >/dev/null 2>&1 &
- 正常启动前端后访问 用户名 superadmin 密码 1
- API调试 等
服务器部署
jar 运行
- 指定配置文件运行 nohup java -jar -Dnutz.profiles.active=pro -Xmx450m wk-platform-server.jar >/dev/null 2>&1 &
docker 部署
wk-gateway
- 编译可执行jar mvn clean package nutzboot:shade
- 编译docker image docker build -t wizzer/budwk-wk-gateway:v7 .
wk-platform
- 编译可执行jar mvn clean package nutzboot:shade
- 编译docker image docker build -t wizzer/budwk-wk-platform:v7 .
wk-ucenter
- 编译可执行jar mvn clean package nutzboot:shade
- 编译docker image docker build -t wizzer/budwk-wk-ucenter:v7 .
其他NB模块省略…然后挂载 /conf 路径,把配置文件 application.yaml 放好
六、源码地址
访问一飞开源: