[Open-source] Dedicated to providing general business capabilities for the Internet of Things era, a free and commercially usable backend management system

Open SourceIoT
2026-06-28 00:58 0 次浏览 • 0 次下载 0KB
[Open-source] Dedicated to providing general business capabilities for the Internet of Things era, a free and commercially usable backend management system

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

Image

 

Image

2. File Management Configuration

  1. Using Minio distributed file storage.

  2. Using AWS S3 protocol client, supports Qiniu, Ali, Tencent, etc. all manufacturers supporting S3 protocol.

File Management Configuration  
Image  
minio  
Image Image
Image Image
qiniu  
Image Image
Image Image
aliyun  
Image Image
Image  

3. WeChat Public Number Configuration

  1. Add public number account in WeChat management -> public number account.

  2. In layout settings, open the WeChat public number switch, default WeChat public number switch is closed.

WeChat Public Number  
Image  
Image Image

4. Blog Management

  1. Blog management includes: user information, classification, tag, blog, note, comment, message, etc. functions!

  2. Blog management is mainly referenced in development ruo-yi-vue-blog.

5. Device Integration

  1. Device integration includes: product management, device management, sub-device management, protocol management, rule engine, etc. functions!

  2. Device integration is mainly referenced in development thinglinks.

  3. Rule engine is developed based on node-red.

Rule Engine  
Image Image
Image Image

4. Feature Overview

The background management system of Bi Hua's era background

  1. We have already entered a new era, this era is called the Internet of Things era, it will change our lives and work methods.

  2. 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.

  3. In the Internet of Things, objects perceive and interact with each other through various sensors and devices, thereby achieving more intelligent and automated services.

  4. 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

  1. 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.

  2. Become the best entry choice for Internet of Things enthusiasts.

  3. 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
Role and Permission Verification Supporting Multiple Conditions Such as AND, OR, or Permission OR Role, etc. Complex Expressions

Database Support

Natively supporting MySQL, Oracle, PostgreSQL, SQLServer
Supporting Simultaneous Use of Heterogeneous Switching

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
Supporting Redis 90% above commands, underlying optimization avoiding many incorrect usage, for example: keys being converted to scan
Supporting Single Machine, Sentinel, Single Master Cluster, Multi-Master Cluster, etc. Modes

Cache Annotation

Adopting Spring-Cache annotation and extending to support more functions
For example, expiration time, maximum idle time, group maximum length, etc. Only one annotation is required to complete automatic data caching

ORM Framework

Adopting Mybatis-Plus, based on object, almost no SQL writing, full Java operation, powerful, and numerous plugins
For example, multi-tenant plugins, pagination plugins, optimistic lock plugins, etc.

SQL Monitoring

Adopting p6spy to output complete SQL and execution time monitoring

Data Pagination

Adopting Mybatis-Plus pagination plugin
Framework extended to support objectized pagination objects, multiple parameter passing methods, and frontend multiple sorting, complex sorting

Data Permissions

Using Mybatis-Plus plugin, self-analyzing and combining SQL, no-feeling filtering
Only need to set up annotations for Mapper, supporting multiple customizations, not limited to departments and roles

Data masking

Using annotations + Jackson serialization, masking data during serialization, supporting different modules with different masking conditions
Supporting multiple strategies, such as ID card, mobile phone, address, email, and bank card, etc., can be extended by themselves

Data encryption and decryption

Using annotations + Mybatis interceptor, automatically encrypting and decrypting data during storage and retrieval
Supporting multiple strategies, such as BASE64, AES, RSA, SM2, SM4, etc.

Data translation

Using annotations + Jackson serialization, dynamically modifying data during serialization, translating data
Supporting multiple modes: mapping translation, direct translation, other extended translation conditions, and interface-based two-step customization

Multiple data source framework

Using dynamic-datasource, supporting most databases
Configuring yml can dynamically manage heterogeneous databases of different types, and can also add data sources through the frontend page
Supporting SpEL expressions to switch data sources from request headers and other conditions

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
Supporting permission management, secure and reliable, file encryption 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

Email

Using mail-api, general protocol supporting most email manufacturers

API documentation

Using SpringDoc, javadoc, no-annotation zero-intrusion based on Java comments
Only need to write comments, no need to write a lot of document annotations

Validation framework

Using Validation, supporting annotation and tool class validation, annotation supporting internationalization

Excel framework

Using Alibaba EasyExcel, based on pluginization
Framework added many functions to it, such as automatic merging of same content, automatic arrangement of layout, and dictionary translation

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
Real-time monitoring of service status, framework also extended online log viewing and monitoring

Chain tracing

Using Apache SkyWalking, no longer worrying about requests that don't know where they go and where they go wrong
Using it can real-time view the request through each place and each node

Code Generator

Only need to design the table structure, one-key generation of all CRUD code and pages
Reducing 80% of development workload, focusing on business design
Framework adapted MP, SpringDoc, and standardized code, while supporting dynamic multiple data source code generation

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.

  1. RuoYi-Vue is based on SpringBoot + Vue front-end and back-end separation of Java rapid development framework.

  2. RuoYi-Vue-Plus is a rewritten RuoYi-Vue, and targeted distributed cluster scenario all-round upgrade (not compatible with original framework).

  3. RuoYi-Vue-Plus is integrated with Sa-Token + Mybatis-Plus + Jackson + Xxl-Job + SpringDoc + Hutool + OSS on the basis of RuoYi-Vue.

Software Architecture

Image

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

#1
资源直链https://gitee.com/wbihua/bihua
去下载
星河码客

发现和分享优质开源项目,传承互联网精神,为开发者服务。

关于本站

联系我们

微信/广告合作:ITcloub (备注星河码客)

免责声明:本站资源版权归原作者所有,仅供学习与交流。如有侵权,请通过「关于我们 - 侵权投诉」联系删除。

Powered by Nuxt · Deployed on Cloudflare