rules-engine

License: GPL v3

Java CI with Maven

Sample Rules defined in app configuration for a set of features

search-v2: enabled: false

beta-banner: enabled: true

old-checkout: enabled: true ruleGroups: all: - { attr: country, op: IN, values: [ IRL ] } any: - { attr: tier, op: IN, values: [ gold, platinum ] }


### Build & Run App
```shell
mvn clean install spring-boot:run

Read Rules & Store in Map

http://localhost:8080/api/executetask

image

Sample API queries

Test End-Point

http://localhost:8080/api/test
["ES","PT"]

image

Rule Matcher

No Matches (see application yml)

http://localhost:8080/api/eval?feature=new-checkout&country=IE&appVersion=1&tier=2

image

2 Matches for feature, country, & app version rules

http://localhost:8080/api/eval?feature=new-checkout&country=PT&appVersion=120&tier=2

image

2 Matches for feature, country, & app version rules

http://localhost:8080/api/eval?feature=new-checkout&country=ES&appVersion=400&tier=2

1 Match for feature & country

http://localhost:8080/api/eval?feature=new-checkout&country=ES&appVersion=100&tier=2

image

2 Matches for feature, tier, & country

http://localhost:8080/api/eval?feature=old-checkout&country=IRL&appVersion=100&tier=gold

image

3 Matches for feature, country, app version, & tier

http://localhost:8080/api/eval?feature=new-checkout&country=PT&appVersion=140&tier=gold

image

No Matches -> Feature Disabled

http://localhost:8080/api/eval?feature=search-v2&country=PT&appVersion=140&tier=gold

image


Camunda UI Tools such as Cockpit, Admin Panel & Tasklist (login with credentials in yml)

http://localhost:8080/

Screenshots of Embedded Camunda UI

Start Process

image

Task List

image

Cock Pit

image