Code Monkey home page Code Monkey logo

budwk's Introduction


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     微信管理 

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

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,帮忙转发,谢谢 🙏🙏🙏 大家的支持是开源最大动力

budwk's People

Contributors

dependabot[bot] avatar wizzercn avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.