This project contains development artifacts used to perform research around product comparison matrices (PCM). This work is currently involving members of the DiverSE (DIVERsity-centric Software Engineering) research team as well as students at University of Rennes 1 (ISTIC).
This project is released under Apache v2 License.
- Maven
- Continous integration with Jenkins and Travis CI
- IntelliJ with the KMF plugin for development
- Play Framewok
- KMF (Kevoree Modeling Framework)
- MongoDB v2.6 or later
This github repository contains several projects :
- api-java: Java interface to the PCM API
- api-java-impl: Java implementation of the API
- model: contains the PCM metamodel, takes care of code source generation for the API
- dataset-best-buy: builds datasets from BestBuy.com
- dataset-wikipedia: builds datasets from Wikipedia
- io-wikipedia: parses Wikipedia pages and creates PCMs
- io-best-buy: parses BestBuy.com and creates PCMs
- play-app: contains OpenCompare website (Play server)
First, make sure your JAVA_HOME environment variable is set to the location of a JDK version 8 or later. Then execute the following (On Windows avoid specials chars from filepath like : C:/Users/François/OpenCompare) :
git clone https://github.com/OpenCompare/OpenCompare.git
cd OpenCompare/org.opencompare
export PLAY2_HOME=play-app
mvn clean install
You can also use this option to skip tests:
mvn clean install -DskipTests
You can also permanently set the PLAY2_HOME environment variable by adding the following to the .bashrc file in your /home directory:
export PLAY2_HOME=/.../OpenCompare/org.opencompare/play-app/
If you wish to use your own installation of Play, export the relevent path in PLAY2_HOME.
To launch the Play application (basically the OpenCompare website), change directory to org.opencompare/dataset-wikipedia and run:
mvn test -PbuildDataset
Then, go to org.opencompare/play-app and execute the following command to populate the database (be sure to have a MongoDB server running through mongod):
./activator test
Finally, or if you already have populated the database, you can launch the HTTP server:
./activator run
Now the server is running, you can connect on:
To remove all the PCMs from the database, you have to connect to your MongoDB instance and remove all the elements of the pcms collection in the opencompare database, as in the following commands:
mongo
use opencompare
db.pcms.remove({})
We have other repositories and sub-projects:
- getting-started (for using the Java API)
- editor (JavaScript, deprecated, now integrated)
- data-importers (for importing PCMs from various sources: opendata API, tabular data, unstructured data, etc.)