28 Star 211 Fork 79

budwk / budwk

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
MIT

BudWk 开源企业级Java Web开发框架

Gitee GVP GitHub release License PowerByNutz

在力所能及的情况下,最大限度的提高Web开发人员的生产力

  • QQ1群: 68428921(已满)
  • QQ2群: 24457628

🚀 简介

BudWk 原名 NutzWk ,是基于国产框架 nutzboot 开发的开源 Java企业级Web开发框架,拥有近十年的开源历史,积累了一大批企业和个人用户,历经V1-V8数次迭代。

V8 在 V7具备的API网关、组件库、认证中心、控制中心等功能基础上,进一步对前后端功能进行升级改造、提升用户体验,同时大大减轻开发工作量,提升开发效率,为产品升级迭代提供极大便利。

框架同时提供微服务单应用微服务分布式版本供选择,后台集权限体系、系统参数、数据字典、站内消息、定时任务、CMS、微信等最常用功能,使其具有上手容易、开发便捷、扩展灵活等特性,特别适合各类大中小型定制化项目需求。

🎉 本版说明(BudWk v8.x)

功能特点

  • 使用一套注解实现 OpenAPI3 在线文档的自动生成,同时实现表单参数验证功能,一举多得,减少开发量
  • 统一异常拦截处理,业务逻辑判断抛出异常即可被捕获友好输出错误,无需一堆 if else 判断
  • 一套控制类日志注解,轻松记录操作人、操作时间、IP、请求参数、响应结果,支持扩展不同数据存储方式
  • Excel 文件快速导入导出,只需在 Pojo 类上定义注解即可,支持键值对解析、子类属性解析、自定义日期格式等
  • Vue3前端表格支持动态列勾选显示、排序、固定等操作,分页组件进行了封装比Vue2版本减轻 80% 代码量
  • 具备丰富的 wk-starter 组件库,使开发微服务应用像搭积木一样简单,组件开发也非常容易

运行环境

  • JDK 11 + 或 OpenJDK 11 +
  • Redis 6.x +
  • MariaDB 10.x + 或 MySql 5.7、Oracle、SqlServer、达梦、人大金仓等
  • Nacos 2.0.3 +

开发工具

  • IntelliJ IDEA
  • Visual Studio Code
  • Node v19/v18 +
  • Maven 3.6.x +
  • Git

目录说明

┌ 前端
│    ├─wk-vue3-admin    Vue3
│    └─wk-vue-admin     Vue2
└─后端
     ├─wk-starter       组件库
     ├─wk-mini          单应用版本
     └─···              分布式版本
        ├─wk-gateway    API网关
        ├─wk-ucenter    用户中心 
        ├─wk-platform   控制中心
        ├─wk-cms        内容管理 
        ├─wk-wechat     微信管理 
        └─wk-device     设备管理

简易架构图(分布式版本)

BUDWK架构

V8技术选型

后端技术

技术 名称 官网
Nutz JavaEE应用框架 https://nutzam.com
NutzBoot 微服务框架 https://github.com/nutzam/nutzboot
SaToken 权限框架 http://sa-token.dev33.cn
Druid 数据库连接池 https://github.com/alibaba/druid
Nacos 配置及注册中心 https://nacos.io
Dubbo 分布式服务框架 https://dubbo.apache.org
Redis 分布式缓存数据库 https://redis.io
Quartz 作业调度框架 https://www.quartz-scheduler.org
IdGenerator 雪花主键生成 https://github.com/yitter/IdGenerator
Hutool 工具集合 https://hutool.cn

Vue3前端技术

技术 名称 官网
Vue3 MVVM框架 https://vuejs.org
Vite 应用框架 https://vitejs.dev
Element-Plus 基于Vue3的UI框架 https://element-plus.gitee.io/zh-CN
Font-awesome 字体图标 https://fontawesome.com

简易开发指南

Java后端

  •   确保 MySql、Redis、Nacos 默认端口配置并已启动
  •   MySql 创建名为 budwk_v8 的空数据库,在每个微服务模块启动时会自动建表,同时初始化数据
  •   在单个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 &
  •   正常启动前端后访问 http://127.0.0.1:8800 用户名 superadmin 密码 1
  •   API调试 http://127.0.0.1:9900/platform/openapi http://127.0.0.1:9900/ucenter/openapi
  •   wk-mini 单应用版本API调试路径为 http://127.0.0.1:9900/openapi
  •   IDEA命令行参数增加 --nutz.profiles.active=dev 可以指定加载 application-dev.yaml 配置文件

Vue3前端(wk-vue3-admin)

  • npm install pnpm
  • pnpm install
  • pnpm run dev

详细开发指南

https://budwk.com

服务器部署

jar 运行

  •   指定jar中配置文件运行 nohup java -jar -Dnutz.profiles.active=pro -Xmx450m wk-mini.jar >/dev/null 2>&1 &
  •   加载文件夹中配置文件运行 nohup java -jar -Dnutz.boot.configure.yaml.dir=/data/budwk/ -Xmx450m wk-mini.jar >/dev/null 2>&1 &

docker 部署示例

wk-gateway

  • 编译可执行jar mvn clean package nutzboot:shade

  • 编译docker image docker build -t wizzer/budwk-wk-gateway:v8.1.0 . --platform linux/amd64

wk-platform

  • 编译可执行jar mvn clean package nutzboot:shade

  • 编译docker image docker build -t wizzer/budwk-wk-platform:v8.1.0 . --platform linux/amd64

wk-ucenter

  • 编译可执行jar mvn clean package nutzboot:shade

  • 编译docker image docker build -t wizzer/budwk-wk-ucenter:v8.1.0 . --platform linux/amd64

其他NB模块省略...然后挂载 /conf 路径,把配置文件 application.yaml 放好

🤝 鸣谢

  •   @wendal 代码贡献者,Nutz/LuatOS主要作者
  •   @rekoe 代码贡献者
  •   @enilu IDEA插件代码贡献者
  •   @threefish IDEA插件代码贡献者
  •   @loyalove 前端代码贡献者
  •   @syrxw 前端代码贡献者

如果您觉得还不错请在右上角点一下 star,帮忙转发,谢谢 🙏🙏🙏 大家的支持是开源最大动力

MIT License Copyright (c) 2019 openLuat Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

简介

WK系列开发框架-V6至V8 Java微服务+API网关+Vue3 Element-Plus 前后端分离 展开 收起
取消

发行版 (14)

全部

贡献者

全部

近期动态

加载更多
不能加载更多了
Java
1
https://gitee.com/budwk/budwk.git
git@gitee.com:budwk/budwk.git
budwk
budwk
budwk
v8.x

搜索帮助

14c37bed 8189591 565d56ea 8189591