Skip to content

Latest commit

 

History

History
94 lines (75 loc) · 3.88 KB

README.md

File metadata and controls

94 lines (75 loc) · 3.88 KB

Tamarin

SWH DOI License: MIT

Tamarin is an open-source interactive alternative ranking system for Multi-Criteria Decision-Making (MCDM) designed to help users select the optimal technology alternatives based on their preferences and criteria. The software integrates quantitative and qualitative data to rank alternatives, considering user-defined importance and uncertainty levels. Tamarin’s dynamic user interface allows real-time adjustments, enabling users to set for each criteria, importance, and granularity, and observe the impact on rankings. Built for flexibility, Tamarin supports various decision-making scenarios, including refurbishment technology selection, washing machine comparisons, or any decision involving evaluated alternatives provided through CSV files.

You can observe not only the ranking but also the impact of each parameter on the final ranking but on each individual criteria with the parallel plot visualisation:

Demonstration of the parallel plot

Install

Generate the static version

For version 2.0 the idea is to generate a static version of the application that can be served by any web server. This mean rendering the pug into HTML, rendering the scss to css and bundling the app logic into a single js file. The "api" part is statically generated, (the JSON files are directly served as files). Version 2 will drop all the app logic, and will rely on the csv import for the orignal dataset.

To build the full project:

npm run build 

you can build indivually the css, pug or js elements.

  build-css
    sass public/stylesheets/style.scss docs/static/stylesheets/style.css --quiet
  build-pug
    npx pug3 -P views/index.pug --out docs/static/
  build-template
    node src/exportTemplate.cjs
  build-js
    npm run build-template && webpack --config webpack.config.cjs --mode=production
  build
    npm run build-css && npm run build-pug && npm run build-js 

node version (DEPRECATED)

  1. Create the database and populate the database
    1. Create an empty database on mysql
    2. Import db/structure_*.sql ( you may have to reorder the elements )
    3. import dataset db/dataset.sql
  2. rename .env.exemple .env and modify .env file with database information (host, name, user, password)
  3. install libraries : npm install
  4. test by launching the app : npm start

quick dev

  1. install nodemon : npm install nodemon
  2. launch the app :
  • nodemon ./bin/www.mjs
  • Or a better version :
  • nodemon -i public/javascripts -e js,pug,mjs,cjs bin/www.mjs

Cite

Latest version

Masson, D., Laguna Salvadó, L., & Villeneuve, E. (2024). Tamarin [Computer software]. https://doi.org/10.5281/zenodo.13628637
@software{Masson_Tamarin_2024,
   author = {Masson, Dimitri and Laguna Salvadó, Laura and Villeneuve, Eric},
   license = {MIT},
   month = sep,
   title = {{Tamarin}},
   url = {https://github.com/dhmmasson/tamarin},
   version = {v1.9},
   year = {2024}
   doi = {10.5281/zenodo.13628637}
}

version v1.9

Masson, D., Laguna Salvadó, L., & Villeneuve, E. (2024). Tamarin (Version v1.9) [Computer software]. https://doi.org/10.5281/zenodo.13628740
@software{Masson_Tamarin_2024,
   author = {Masson, Dimitri and Laguna Salvadó, Laura and Villeneuve, Eric},
   license = {MIT},
   month = sep,
   title = {{Tamarin}},
   url = {https://github.com/dhmmasson/tamarin},
   version = {v1.9},
   year = {2024}
   doi = {10.5281/zenodo.13628740}
}