Git Product home page Git Product logo

drools-fiddle's Introduction

Drools Fiddle

Overview

Drools Fiddle is the fiddle for Drools, a business rule engine maintained by Redhat: https://www.drools.org/. The goal of this web tool is to allow technical or non technical users to play around with Drools. First, it allows you to build your business configuration by defining both fact models and business rules. Secondly, you can simulate the evaluation of your rule package by dynamically instanciating facts in the Drools working memory and trigger the fireAllRules method. A set of features have been implemented in order to enhance the user experience: step by step debugging, contribution, graphical visualization.

Table of Contents

Install

This project uses Jboss WildFly as Application Server.

Prerequisites

In order to build and deploy this project you will need to fullfill those prerequisites:

Build

mvn clean install

Run integration tests

mvn clean verify -Parq-wildfly-managed

Docker

Build & Deploy

mvn clean install -Pdocker

Access drools-fiddle at http://localhost/drools-fiddle

Stop containers

mvn docker:stop -Pdocker

Start/stop containers without maven

When you have already built images then it is possible to start the drools-fiddle without maven. You can call either docker directly or use docker-compose.

Start the stack:

docker-compose up [--detach]

Stop the stack

docker-compose down

Getting Started

  1. Connect to http://droolsfiddle.tk/. The DRL editor is already filled with an HelloWorld package:
declare Fact
    value : int
end

rule "Rule"
when
    f : Fact(value == 42)
then
    modify( f ) {setValue( 41 )}
end
  1. Click on the Build in order to trigger the compilation and build of the rule package.
  2. Insert an instance of Fact with 42 as a value and then Submit.
  3. Click on Fire in order to trigger the fireAllRules method and evaluate your ruleset.

Contributing

  1. Fork it!
  2. Create your feature branch: git checkout -b my-new-feature
  3. Commit your changes: git commit -am 'Add some feature'
  4. Push to the branch: git push origin my-new-feature
  5. Submit a pull request.

Authors

Core team

  • Julien Vipret : julien.vipret [at] gmail [dot] com
  • Matteo Casalino : matteo.casalino [at] gmail [dot] com

Contributors

  • Alexis OLIVARI : olivari.alexis0 [at] gmail [dot] com
  • Thomas Palandri
  • Jaona Ramahaleo

License

Copyright 2016 Drools Fiddle

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

drools-fiddle's People

Contributors

gurfm avatar jvipret avatar jaona avatar alexisolivari avatar r00ta avatar aktur avatar amishamuni avatar sanhajio avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.