Open-source enterprise-level Java Web development framework, maximizes Web development productivity

1. Project Overview
BudWk V7 has undergone a large-scale reconstruction, with a structure greatly different from the previous version. It has added a gateway center, authentication center, control center, and completely componentized and configured, greatly reducing the development workload and improving development efficiency, while providing great convenience for product upgrades and iterations.
BudWk, originally named NutzWk, is an open-source Web foundation project developed based on the domestic framework nutz and nutzboot, which integrates permission systems, system parameters, data dictionaries, internal messages, scheduled tasks, CMS, and WeChat, etc. common functions, without being cumbersome or comprehensive, making it easy to get started, convenient to develop, and flexible to extend, especially suitable for various types of customized projects.
2. Open Source License
Licensed under MIT
3. Screenshots
4. Feature Overview
Microservice distributed + API gateway + front-end and back-end separation development framework
BudWk V7 has undergone a large-scale reconstruction, with a structure greatly different from the previous version. It has added a gateway center, authentication center, control center, and completely componentized and configured, greatly reducing the development workload and improving development efficiency, while providing great convenience for product upgrades and iterations.
Simple and fast
Based on NutzBoot and Nuxt + Vue + ElementUI, quickly build Web application systems
Functionally complete
Completely encapsulated back-end management functions, including users, units, permissions, logs, dictionaries, messages, CMS, WeChat, and scheduled tasks, etc. basic functions
Componentized development
Encapsulated various functional components, allowing developers to focus on business implementation
Latest architecture
Designed with the most popular microservice distributed + API gateway + front-end and back-end separation overall architecture idea
Rich cases
Has a large number of Internet of Things, vehicle networking, e-commerce, electronic government, financial, etc. industry cases
Widely used
Users from companies in Hefei, Nanjing, Beijing, Shanghai, Hangzhou, Chengdu, Shandong, etc.
5. Tech Stack
Version explanation (BudWk v7.x)
Running environment
- JDK 11 + or OpenJDK 11 +
- Redis 4.0.8 +
- MariaDB 10.x + or MySql 5.7, Oracle, SqlServer, DreamDB, etc.
- Nacos 2.0.3 +
Development Tools
- IntelliJ IDEA
- Visual Studio Code
- Node 12.13.0 +
- Maven 3.6.3 +
- Git
Architecture Diagram
![[ ] Java Web , Web](https://yy123.ink/api/img/1782582902240-9syl9c.jpg)
Directory Structure
budwk -- Root directory │ ├─wk-starter -- Component center │ │ ├─wk-starter-common -- Common class components │ │ ├─wk-starter-database -- Database components │ │ ├─wk-starter-config -- Configuration component (Commercial version) │ │ ├─wk-starter-dependencies -- All dependencies │ │ ├─wk-starter-dubbo -- Dubbo component │ │ ├─wk-starter-email -- Email component │ │ ├─wk-starter-gateway -- Gateway component │ │ ├─wk-starter-job -- Simple scheduling task component │ │ ├─wk-starter-log -- Log and SLog components │ │ ├─wk-starter-openapi -- API documentation generation component │ │ ├─wk-starter-security -- Authorization verification component │ │ ├─wk-starter-sms -- SMS sending component │ │ ├─wk-starter-storage -- File storage component │ │ ├─wk-starter-web -- WEB intercept cross-domain form validation component │ ├─wk-gateway -- Gateway center │ │ ├─websocket -- WebSocket support (Commercial version) │ ├─wk-platform -- Control center │ │ ├─wk-platform-common -- Common class for other modules to call │ │ ├─wk-platform-server -- Service class provides API and RPC services │ ├─wk-ucenter -- Authentication center │ ├─wk-cms -- CMS management │ │ ├─wk-cms-common -- Common class for other modules to call │ │ ├─wk-cms-server -- Service class provides API and RPC services │ ├─wk-wechat -- WeChat management (Commercial version) │ │ ├─wk-wechat-common -- Common class for other modules to call (Commercial version) │ │ ├─wk-wechat-server -- Service class provides API and RPC services (Commercial version) │ ├─wk-mini -- Single application Mini version │ ├─wk-vue-admin -- Vue front-end code │ │ ├─pages-home -- Message center │ │ ├─pages-platform -- Control center │ │ ├─pages-cms -- CMS management │ │ ├─pages-wechat -- WeChat management (Commercial version)
- Code Generator IDEA Plugin, please download and install budwk-codegenerator
- Recommended component center, control center, front-end and other functional modules to create independent Git repositories, convenient for permission management and upgrade iteration
Technical Selection
Back-end Technology
Technology
Name
Nutz
Java EE application framework
NutzBoot
Microservice framework
SaToken
Permission framework
Druid
Database connection pool
Nacos
Configuration and registration center
Dubbo
Distributed service framework
Redis
Distributed cache database
Quartz
Job scheduling framework
IdGenerator
Snowflake primary key generation
Hutool
Tool collection
Front-end Technology
Technology
Name
Vue.js
MVVM framework
Nuxt.js
Vue general application framework
Element
Based on Vue UI framework
Font-awesome
Icon font
Development guide
- Ensure MySql, Redis, Nacos default port configuration and startup
- MySql create an empty database named budwk_v7, and automatically create tables and initialize data when each microservice module starts
- In a single NB module, execute mvn compile nutzboot:run to run or mvn package nutzboot:shade to generate a executable jar package
- In the backend project root directory, execute mvn -Dmaven.javadoc.skip=true -Dmaven.test.skip=true -Dnutzboot.dst=E:/dst clean package nutzboot:shade to generate all executable jar packages to a specified location
- Start jar files separately nohup java -jar budwk.jar >/dev/null 2>&1 &
- Normal startup, access http://127.0.0.1:8800 with username superadmin and password 1
- API debugging http://127.0.0.1:9900/platform/openapi http://127.0.0.1:9900/ucenter/openapi and so on
Server deployment
jar run
- Specify configuration file run nohup java -jar -Dnutz.profiles.active=pro -Xmx450m wk-platform-server.jar >/dev/null 2>&1 &
docker deployment
wk-gateway
- Compile executable jar mvn clean package nutzboot:shade
- Compile docker image docker build -t wizzer/budwk-wk-gateway:v7 .
wk-platform
- Compile executable jar mvn clean package nutzboot:shade
- Compile docker image docker build -t wizzer/budwk-wk-platform:v7 .
wk-ucenter
- Compile executable jar mvn clean package nutzboot:shade
- Compile docker image docker build -t wizzer/budwk-wk-ucenter:v7 .
Other NB modules omitted... then mount /conf path, put application.yaml configuration file in place
Source code downloadSource code has been synchronized to GitCoffee, account authorization login in public testing, if any problems, can register a new account on GitCoffee independently. Feedback, please follow the WeChat public account: One Flying Open Source. [One Flying Open Source, is committed to building a vibrant open source community, and building a new open source ecosystem!]
