/RuleBased_MatchMaker

Primary LanguageJavaScriptBSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

Rule-based Matchmaker

A server app built to be deployed with node.js server based on Kettle that matches solution records to user needs and preferences.

The Rule-based Matchmaker operates by executing Kettle.

Dependencies

universal

Installation instructions

Firstly, install node and npm.

Run the following commands in your newly checked out Rule-based Matchmaker repository. This will install all dependencies that are required by the Rule-based Matchmaker.

npm install
grunt dedupe-infusion

Rule-based Matchmaker API

To run the rule-based matchmaker, simply type:

[NODE_ENV={environment}] node bin/ruleBasedMatchMaker
  • Default environment is "development".

For example:

set NODE_ENV=development
node bin/ruleBasedMatchMaker

The Rule-based Matchmaker currently supports the following urls:

{url_to_a_sample_matchmaker_server}/match // POST

Testing

Usage example using curl:

curl -X POST -H "Content-Type: application/json" localhost:8078/match -d @testData\universal\testData\preferences\vladimir.json

After running the command above, the output of the Rule-based Matchmaker will be shown in the console and it will be also stored at DEBUG\output.json.

If DEBUG\output.json is equal with the expected result: DEBUG\expectedTestOutcomes\vladimirOUT.json, then the Rule-based Matchmaker is running properly.

Running the Rule-based Matchmaker in conjunction with GPII

In order to run the Rule-based Matchmaker in conjunction with the GPII framework, please follow the instructions for setting up the GPII, ensure that the Rule-based Matchmaker is used for matchmaking and put the corresponding URL in the config file.

Make it work with the Rule-based RESTful web-service that you deployed in your own Apache Tomcat server

The current project is the "Node.js part" of the Rule-based Matchmaker (RBMM) that uses internally the "Maven RESTful part" of the RBMM. The "Maven RESTful part" of the RBMM is already deployed at http://160.40.50.183:8080. However, if you want to deploy the "Maven RESTful part" in your own Apache Tomcat server, please follow the steps below:

  1. Follow the instructions included here for building and deploying the "Maven RESTful part"

  2. Put in lib/RuleBasedMatchMaker.js the IP & Port of the Apache Tomcat server where you deployed the "Maven RESTful part" of the RBMM

Funding Acknowledgement

The research leading to these results has received funding from the European Union's Seventh Framework Programme (FP7/2007-2013) under grant agreement No.289016