[Open-source] Dedicated to providing general business capabilities for the Internet of Things era, a free and commercially usable backend management system
![[Open-source] Dedicated to providing general business capabilities for the Internet of Things era, a free and commercially usable backend management system](https://yy123.ink/api/img/1782579524503-kxcro7.jpg)
1. Project Overview
Bi Hua backend management system
Bi Hua backend management system is developed based on RuoYi-Vue-Plus foundation. Bi Hua backend management system adds WeChat public management, blog, IoT platform, commercial system, etc. functions on RuoYi-Vue-Plus
2. Open Source License
Licensed under MIT
3. Screenshots
Usage instructions
1. Login, register
Below are screenshots of login page and register page.
| Login register |
|
|---|---|
|
|
2. File Management Configuration
-
Using Minio distributed file storage.
-
Using AWS S3 protocol client, supports Qiniu, Ali, Tencent, etc. all manufacturers supporting S3 protocol.
| File Management Configuration | |
|---|---|
![]() |
| minio | |
|---|---|
![]() |
![]() |
![]() |
![]() |
| qiniu | |
|---|---|
![]() |
![]() |
![]() |
![]() |
| aliyun | |
|---|---|
![]() |
![]() |
![]() |
3. WeChat Public Number Configuration
-
Add public number account in WeChat management -> public number account.
-
In layout settings, open the WeChat public number switch, default WeChat public number switch is closed.
| WeChat Public Number | |
|---|---|
![]() |
|
![]() |
![]() |
4. Blog Management
-
Blog management includes: user information, classification, tag, blog, note, comment, message, etc. functions!
-
Blog management is mainly referenced in development ruo-yi-vue-blog.
5. Device Integration
-
Device integration includes: product management, device management, sub-device management, protocol management, rule engine, etc. functions!
-
Device integration is mainly referenced in development thinglinks.
-
Rule engine is developed based on node-red.
| Rule Engine | |
|---|---|
![]() |
![]() |
![]() |
![]() |
4. Feature Overview
The background management system of Bi Hua's era background
-
We have already entered a new era, this era is called the Internet of Things era, it will change our lives and work methods.
-
The Internet of Things IOT (Internet of things), as its name suggests, is just connected things, interconnected things.
The Internet of Things is actually an extension of the Internet, the terminal of the Internet is a computer (PC, server). The essence of the Internet of Things is still the Internet, only the terminal is no longer a computer, but an embedded computer system and its accompanying sensors. -
In the Internet of Things, objects perceive and interact with each other through various sensors and devices, thereby achieving more intelligent and automated services.
-
In fact, the current applications of the Internet of Things are very extensive, from home to industry, they can be used, for example: home intelligence, intelligent cities, industrial automation, etc.
However, the current scope is not enough, in the future, the Internet of Things will be applied more widely in various fields, with the continuous progress of Internet of Things technology, the Internet of Things will become more intelligent, secure, and reliable, and Internet of Things technology will cover all aspects of society.
Bi Hua backend management system positioning
-
Hope to become a general business capability backend management system implementation plan for the Internet of Things era, to help small and micro enterprises develop Internet of Things related businesses.
-
Become the best entry choice for Internet of Things enthusiasts.
-
Project code, documents are all open source, free, and can be used for commercial purposes. Adhere to the open source protocol in the project, and retain the open source protocol file.
Software function description
This framework extends the RuoYi-Vue-Plus function as follows:
|
Function |
RuoYi-Vue-Plus framework |
|
Front-end project |
Front-end uses Vue2, Element UI |
|
Backend Project Structure |
Adopting pluginization + package extension form to decouple and facilitate extension |
|
Backend Code Style |
Strictly following Alibaba specifications and project unified configuration for code formatting |
|
Web Container |
Adopting Undertow based on XNIO's high-performance container |
|
Permission Authentication |
Adopting Sa-Token, Jwt for static use with full functionality, low coupling, and high extensibility |
|
Permission Annotation |
Adopting Sa-Token supporting annotation for login verification, role verification, permission verification, secondary authentication verification, HttpBasic verification, and ignore verification |
|
Database Support |
Natively supporting MySQL, Oracle, PostgreSQL, SQLServer |
|
Cache Database |
Supporting Redis 5-7 and supporting most new features and characteristics such as distributed rate limiting, distributed queues |
|
Redis Client |
Adopting Redisson, Redis official recommendation, based on Netty's client tool |
|
Cache Annotation |
Adopting Spring-Cache annotation and extending to support more functions |
|
ORM Framework |
Adopting Mybatis-Plus, based on object, almost no SQL writing, full Java operation, powerful, and numerous plugins |
|
SQL Monitoring |
Adopting p6spy to output complete SQL and execution time monitoring |
|
Data Pagination |
Adopting Mybatis-Plus pagination plugin |
|
Data Permissions |
Using Mybatis-Plus plugin, self-analyzing and combining SQL, no-feeling filtering |
|
Data masking |
Using annotations + Jackson serialization, masking data during serialization, supporting different modules with different masking conditions |
|
Data encryption and decryption |
Using annotations + Mybatis interceptor, automatically encrypting and decrypting data during storage and retrieval |
|
Data translation |
Using annotations + Jackson serialization, dynamically modifying data during serialization, translating data |
|
Multiple data source framework |
Using dynamic-datasource, supporting most databases |
|
Multiple data source transactions |
Using dynamic-datasource, supporting multiple data source transactions and rollback of different types of databases |
|
Database connection pool |
Using HikariCP, Spring's official built-in connection pool, simple configuration, and renowned for performance and stability |
|
Database primary key |
Using Snowflake ID, based on timestamp, ordered growth, unique ID, no longer worrying about data sharding, table merging, and primary key conflicts |
|
WebSocket protocol |
Based on Spring, encapsulated WebSocket protocol, extended token authentication and distributed session synchronization, no longer just based on single-machine waste |
|
Serialization |
Using Jackson, Spring's official built-in serialization, reliable!!! |
|
Distributed idempotence |
Referencing Meituan GTIS anti-repetition system, simplified implementation (details can be seen in the document) |
|
Distributed task scheduling |
Using Xxl-Job, born to support distribution, unified management center |
|
File storage |
Using Minio, distributed file storage, born to support multiple machines, multiple hard disks, multiple sharding, and multiple replication storage |
|
Cloud Storage |
Using AWS S3 protocol client, supporting Qiniu, Ali, Tencent, etc., all S3 protocol manufacturers |
|
SMS |
Supporting Ali, Tencent, only need to configure the manufacturer's key in yml to use, interface-based support for extending other manufacturers |
|
|
Using mail-api, general protocol supporting most email manufacturers |
|
API documentation |
Using SpringDoc, javadoc, no-annotation zero-intrusion based on Java comments |
|
Validation framework |
Using Validation, supporting annotation and tool class validation, annotation supporting internationalization |
|
Excel framework |
Using Alibaba EasyExcel, based on pluginization |
|
Tool class framework |
Using Hutool, Lombok, over a hundred tools covering 90% of usage needs, based on annotation to generate get, set, etc., simplifying framework code |
|
Monitoring framework |
Using SpringBoot-Admin, based on SpringBoot official actuator probe mechanism |
|
Chain tracing |
Using Apache SkyWalking, no longer worrying about requests that don't know where they go and where they go wrong |
|
Code Generator |
Only need to design the table structure, one-key generation of all CRUD code and pages |
|
Deployment Method |
Supporting Docker orchestration, one-key building of all environments, letting developers no longer worry about building environments |
|
Project path modification |
Providing detailed modification scheme documents, and making some changes, very simple to modify to what you want |
|
Internationalization |
Based on request headers, dynamically returning different language text content, low development difficulty, supporting most annotation content internationalization |
|
Code singleton testing |
Provide singleton test Usage method writing method with maven multi-environment single test plugin |
|
Demo case |
Provide framework function actual use case A separate module provides many very complete |
This framework is based on RuoYi-Vue-Plus and adds other business functions
|
Business |
Function description |
bihua |
RuoYi-Vue-Plus |
|
User Management |
User management configuration such as adding users, assigning users to departments, roles, and positions |
Support |
Support |
|
Department Management |
Configure system organization structure (company, department, group) Support data permission tree structure display |
Support |
Support |
|
Position Management |
Configure system user position |
Support |
Support |
|
Menu Management |
Configure system menu, operation permission, button permission mark |
Support |
Support |
|
Role Management |
Role menu permission distribution, set role by organization to divide data range permission |
Support |
Support |
|
Dictionary Management |
Maintain some fixed data frequently used in the system |
Support |
Support |
|
Parameter management |
Dynamically configure common system parameters |
Support |
Support |
|
Notifications and Announcements |
System notification and announcement information release and maintenance |
Support |
Support |
|
Operation log |
Record and query system normal operation logs and system exception information logs |
Support |
Support |
|
Login Log |
Record and query system login logs including login exceptions |
Support |
Support |
|
File management |
System file display, upload, download, delete management |
Support |
Support |
|
File configuration management |
Manage configuration information for uploading and downloading system files |
Support |
Support |
|
Online user management |
Monitor and forcibly kick out online users who have logged in to the system |
Support |
Support |
|
Scheduled Tasks |
Run reports, task management (add, modify, delete), log management, executor management, etc. |
Support |
Support |
|
Code Generation |
Generate front-end and back-end code for multiple data sources (java, html, xml, sql) Support CRUD download |
Support |
Support |
|
System Interface |
Generate API interface documents related to business code |
Support |
Support |
|
Service monitoring |
Monitor cluster system CPU, memory, disk, heap, online logs, Spring-related configurations, etc. |
Support |
Support |
|
Cache monitoring |
Query system cache information, command statistics, etc. |
Support |
Support |
|
Online builder |
Drag and drop form elements to generate corresponding HTML code |
Support |
Support |
|
Usage case |
Some function cases of the system |
Support |
Support |
|
WeChat Public Account Management |
Supports multiple public account access, supports public account menu, automatic reply, public account materials, simple CMS, and other management functions |
Support |
Not supported |
|
IoT Platform |
Product management, device management (supports MQTT protocol, WebSocket protocol, TCP-IP protocol device access), sub-device management, protocol management, rule engine |
Support |
Not supported |
|
Blog |
Blog category management, blog tag management, content management, article management, note management, comment management, message management |
Support |
Not supported |
|
E-commerce System |
Complete e-commerce shopping function (member management, product category, product management, order management, shopping cart) |
Support |
Not supported |
5. Tech Stack
Bi Hua Backend Management System, based on RuoYi-Vue-Plus foundation developed system.
-
RuoYi-Vue is based on SpringBoot + Vue front-end and back-end separation of Java rapid development framework.
-
RuoYi-Vue-Plus is a rewritten RuoYi-Vue, and targeted distributed cluster scenario all-round upgrade (not compatible with original framework).
-
RuoYi-Vue-Plus is integrated with Sa-Token + Mybatis-Plus + Jackson + Xxl-Job + SpringDoc + Hutool + OSS on the basis of RuoYi-Vue.
Software Architecture

Software Required Environment
It is recommended to use docker to install the project's built-in docker orchestration file
mysql 5.7
redis 6.2.7
tdengine 3.0.1.0
rocketmq 4.8.0
minio local file storage or Alibaba Cloud Tencent Cloud Qiniu Cloud and all cloud storage supporting S3 protocol
maven 3.6.0
nodejs 16
npm 9.3.0



















