[Open Source] Rule Engine with Web-Based Visual Configuration for Implementing Complex Business Logic Without Code
![[Open Source] Rule Engine with Web-Based Visual Configuration for Implementing Complex Business Logic Without Code](https://yy123.ink/api/img/1782592193210-lk4lfz.jpg)
1. Project Overview
Rule Engine RuleEngine
Business logic implementation no longer depends on code development. Complex business logic can be implemented with zero code.
Provides support for standard rules, rule sets, decision tables, and functions for handling complex scenarios, making it suitable for any business requirement. Business logic implementation no longer depends on code development. Complex business logic can be implemented with zero code!
2. Open Source License
Licensed under Apache-2.0
3. Screenshots




4. Feature Overview
Open-Source Edition of the Rule Engine RuleEngine
Web-based visual configuration that is simple, efficient, and convenient.
Business logic implementation no longer depends on code development. Complex business logic can be implemented with zero code!
Simple Operations
Complex business rules can be configured without developers. The platform provides a very convenient interface that even beginners can use with ease.
Feature-Rich
We provide standard rules, rule sets, decision tables, and function support for handling complex scenarios, making the platform suitable for any business requirement.
High Performance
After configuration, rules are dynamically loaded into memory. The engine features its own rule pattern-matching algorithm and data structures, fundamentally ensuring efficient rule execution and achieving millisecond-level response times when calculating large numbers of complex business rules.
Source: Official Rule Engine RuleEngine Documentation
5. Tech Stack
Technology Stack / Version Overview:
- The technologies involved include
- SpringBoot 2.2.11
- RabbitMQ
- Redis、Redisson
- MySQL 5.7.9
- Mybatis-plus
- Maven 3.3
- Swagger
How to Invoke Rules
Add the following dependency to the pom.xml file of the project invoking the rules.
<dependency>
<groupId>cn.ruleengine</groupId>
<artifactId>rule-engine-client</artifactId>
<version>2.0</version>
</dependency>
Configure the Spring Boot project's application.yml configuration file.
Detailed content, please refer to README.md document.
Then write the following code for testing:
@EnableRuleEngine
@RunWith(SpringRunner.class)
@SpringBootTest
public class RuleTest {
@Resource
private RuleEngineClient ruleEngineClient;
@Test
public void test() {
// Build rule request parameters
PhoneTestRule phoneTestRule = new PhoneTestRule();
phoneTestRule.setPhone("134000000000");
// Invoke the rule in the execution engine
GeneralRule generalRule = this.ruleEngineClient.generalRule();
Output output = generalRule.execute(phoneTestRule);
System.out.println(output);
}
}
@Data
@Model(code = "phoneRuletest")
public class PhoneTestRule {
/**
* Optional. Defaults to the property name as the code
*/
@InputParameter(code = "phone")
private String phone;
}
For more ways to invoke the rules, please refer to the README.md documentation.