17 Star 146 Fork 54

budwk / budwk

Create your Gitee Account
Explore and code with more than 8 million developers,Free private repositories !:)
Sign up
Clone or Download
contribute
Sync branch
Cancel
Notice: Creating folder will generate an empty file .keep, because not support in Git
Loading...
README.md

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、微信等最常用功能,使其具有上手容易、开发便捷、扩展灵活等特性,特别适合各类大中小型定制化项目需求。

V8 前端采用 Vue3 + Vite + Element-Plus + TypeScript 开发,V7 前端 采用 Nuxt + ElementUI + JavaScript 开发。

🎉 本版说明(BudWk v8.x)

功能特点

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

运行环境

  • 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架构

目录结构

budwk                               -- 根目录
  ├─wk-starter                     -- 组件仓库
    ├─wk-starter-common           -- 通用类组件
    ├─wk-starter-database         -- 数据库组件
    ├─wk-starter-apiauth          -- API接口权限组件
    ├─wk-starter-config           -- 配置组件(支持Nacos配置中心)
    ├─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                        -- 可独立运行单应用版本
  ├─wk-vue3-admin                  -- Vue3前端代码 TS + Vite + Elment-Plus

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

Vue3前端(wk-vue3-admin)

  • npm install pnpm
  • pnpm install
  • pnpm run dev

详细开发指南

https://budwk.com

服务器部署

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:v8 .

wk-platform

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

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

wk-ucenter

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

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

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

🤝 鸣谢

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

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

About

WK系列开发框架-V6至V8 Java微服务+API网关+Vue3 Element-Puls 前后端分离 expand collapse
Cancel

Releases (12)

All

budwk

Contributors

All

Activities

Load More
can not load any more
Java
1
https://gitee.com/budwk/budwk.git
git@gitee.com:budwk/budwk.git
budwk
budwk
budwk
v8.x

Search