trial-monitor

Trial Monitor enables the creation of personalised dashboard for monitoring your field trials

https://github.com/fraunhoferportugal/trial-monitor

Science Score: 26.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (16.1%) to scientific vocabulary

Keywords

data-visualisation field-trials human-computer-interaction nocode remote-monitoring
Last synced: 6 months ago · JSON representation

Repository

Trial Monitor enables the creation of personalised dashboard for monitoring your field trials

Basic Info
Statistics
  • Stars: 2
  • Watchers: 0
  • Forks: 2
  • Open Issues: 0
  • Releases: 0
Topics
data-visualisation field-trials human-computer-interaction nocode remote-monitoring
Created over 4 years ago · Last pushed about 2 years ago
Metadata Files
Readme Changelog License Citation

README.md

Trial Monitor

Trial Monitor is a tool that enables developers and researchers to create personalized web dashboards for monitoring participants in technology-enabled field trials. The tool was designed to reduce the work of developing ones own dashboard, the need to adapt the technology stack to an existing dashboard, or the need to create a different dashboard tool for each project.

Trial Monitor uses simple configuration files to define the connection to different databases, the types of visualizations to be used, and the user interface that researchers will see to make sense of the user-generated data.

Trial Monitor dashboard

Requirements

Ensure that you have Node.js (tested with v16) or Docker installed on your machine according to your desired set up.

Getting Started

Trial Monitor can either be installed directly on your machine or use through Docker. In the repository, we provide a config with examples and sample data, as well as Docker files and Docker images for easy deployment.

You can use the published docker images to run Trial Monitor without clonning the repository. To do so, follow these instructions:

  1. Download the config.template folder.

  2. Rename config.template to config.

  3. Edit the files in the config folder according to the needs of your project. Don't forget to specify the location where the API will run in api_url within the ui-config.json file.

  4. Run the services using docker or docker-compose. Make sure you map the config folder as a volumes as shown in the following example:

yaml version: "3" services: api: image: ghcr.io/fraunhoferportugal/trialmonitor-api:latest volumes: - ./config:/usr/config ports: - 3001:80 frontend: image: ghcr.io/fraunhoferportugal/trialmonitor-ui:latest volumes: - ./config/ui-config.json:/usr/share/nginx/html/ui-config.json ports: - 80:80

For this example, the api_url within the ui-config.json file needs to be "http://host.docker.internal:3001/api" (verify if it is correctly configured, more information here) or "http://<domain_name>:3001/api".

:pagefacingup: Check here for a more complex example of a docker-compose file. Don't forget to replace build property from api and frontend services with the respective docker images.

For more details refer to the Trial Monitor Documentation. You can also run the documentation on your machine by following the instructions here.

Building from Source

To install Trial Monitor on your machine from the source repository follow the steps below:

  1. Clone the repository on your machine.

git clone https://github.com/fraunhoferportugal/trial-monitor.git

  1. Rename config.template to config.

  2. Edit the files in the config folder according to the needs of your project.

For more details, see the documentation. You can also run the documentation on your machine by following the instructions here.

Running Trial Monitor

To use Trial Monitor directly on your machine with yarn just run:

bash yarn install yarn run dev

Or you can use the docker-compose file:

```bash

Production

docker-compose -f docker-compose.yaml up

Development

docker-compose -f docker-compose.dev.yaml up ```

:warning: When running with docker in development, you shouldn't install the packages using yarn in your host. The startup script will install the packages for you. If you did, delete the directories: packages/client/nodemodules and packages/server/nodemodules.

In development mode, Trial Monitor API will run by default on port 3001, while the UI will run by default on port 8080. When running in development mode all changes in the config files will be automatically reflected on the interface.

:pagefacingup: To run Trial Monitor with authentication check the instructions here.

Citing

When using Trial Monitor please cite the following publication:

Ribeiro J., Lima P., Nunes F. "Trial Monitor: Scaffolding Personalised Web Dashboards for Human-Computer Interaction Field Trials". SoftwareX, 16. (2021).

Owner

  • Name: Associação Fraunhofer Portugal Research
  • Login: fraunhoferportugal
  • Kind: organization
  • Location: Porto, Portugal

Associação Fraunhofer Portugal Research

GitHub Events

Total
Last Year

Dependencies

docs/package.json npm
  • @docusaurus/core ^2.0.0-beta.21
  • @docusaurus/preset-classic ^2.0.0-beta.21
  • @mdx-js/react ^1.6.21
  • @svgr/webpack ^5.5.0
  • clsx ^1.1.1
  • file-loader ^6.2.0
  • prism-react-renderer ^1.2.1
  • react ^17.0.1
  • react-dom ^17.0.1
  • url-loader ^4.1.1
docs/yarn.lock npm
  • 1205 dependencies
package.json npm
  • concurrently ^7.2.0 development
  • nodemon ^2.0.16
packages/client/package.json npm
  • @snowpack/plugin-dotenv ^2.2.0 development
  • @snowpack/plugin-react-refresh ^2.5.0 development
  • @snowpack/plugin-typescript ^1.2.1 development
  • @snowpack/web-test-runner-plugin ^0.2.2 development
  • @testing-library/react ^13.3.0 development
  • @types/chai ^4.3.1 development
  • @types/mocha ^9.1.1 development
  • @types/react-dom ^18.0.5 development
  • @types/react-router-dom ^5.3.3 development
  • @types/snowpack-env ^2.3.4 development
  • @typescript-eslint/eslint-plugin ^5.30.0 development
  • @typescript-eslint/parser ^5.30.0 development
  • @web/test-runner ^0.13.31 development
  • chai ^4.3.6 development
  • eslint ^8.18.0 development
  • eslint-config-standard ^17.0.0 development
  • eslint-plugin-import ^2.26.0 development
  • eslint-plugin-n ^15.2.3 development
  • eslint-plugin-promise ^6.0.0 development
  • eslint-plugin-react ^7.30.1 development
  • eslint-plugin-react-hooks ^4.6.0 development
  • snowpack ^3.8.8 development
  • snowpack-plugin-yaml ^1.0.4 development
  • snowpack-svgr-plugin ^1.0.3 development
  • typescript ^4.7.4 development
  • @radix-ui/react-tabs ^0.1.5
  • @radix-ui/react-tooltip ^0.1.7
  • @stitches/react ^1.2.8
  • @types/react-date-range ^1.4.3
  • axios ^0.27.2
  • date-fns ^2.28.0
  • firebase ^9.8.4
  • gridjs ^5.0.2
  • gridjs-react ^5.0.2
  • keycloak-js ^18.0.1
  • react ^18.2.0
  • react-date-range ^1.4.0
  • react-dom ^18.2.0
  • react-query ^3.39.1
  • react-router-dom ^6.3.0
  • react-select ^5.3.2
  • react-vega ^7.6.0
  • vega ^5.22.1
  • vega-lite ^5.2.0
packages/client/yarn.lock npm
  • 1044 dependencies
packages/server/package.json npm
  • @babel/core ^7.18.6 development
  • @babel/preset-env ^7.18.6 development
  • @babel/preset-typescript ^7.18.6 development
  • @types/cookie-parser ^1.4.3 development
  • @types/cors ^2.8.12 development
  • @types/express ^4.17.13 development
  • @types/express-session ^1.17.4 development
  • @types/jest ^28.1.3 development
  • @types/js-yaml ^4.0.5 development
  • @types/lodash.pick ^4.4.7 development
  • @types/node ^18.0.0 development
  • @types/nodemon ^1.19.1 development
  • @types/sqlite3 ^3.1.8 development
  • @typescript-eslint/eslint-plugin ^5.30.0 development
  • @typescript-eslint/parser ^5.30.0 development
  • axios-mock-adapter ^1.21.1 development
  • babel-jest ^28.1.2 development
  • eslint ^8.18.0 development
  • eslint-config-standard ^17.0.0 development
  • eslint-plugin-import ^2.26.0 development
  • eslint-plugin-jest ^26.5.3 development
  • eslint-plugin-node ^11.1.0 development
  • eslint-plugin-promise ^6.0.0 development
  • firebase-tools ^10.9.2 development
  • jest ^28.1.2 development
  • typescript ^4.7.4 development
  • @keycloak/keycloak-admin-client ^18.0.2
  • axios ^0.27.2
  • cookie-parser ~1.4.6
  • cors ^2.8.5
  • eslint-plugin-n ^15.2.4
  • express ~4.18.1
  • express-session ^1.17.3
  • firebase ^9.8.4
  • firebase-admin ^11.0.0
  • js-yaml ^4.1.0
  • jwt-decode ^3.1.2
  • keycloak-connect ^18.0.2
  • lodash.pick ^4.4.0
  • log4js ^6.5.2
  • mariadb ^3.0.0
  • mysql2 ^2.3.3
  • nodemon ^2.0.18
  • redis ^4.1.0
  • sequelize ^6.21.2
  • sequelize-auto ^0.8.8
  • source-map-support ^0.5.21
  • sqlite3 ^5.0.8
  • ts-loader ^9.3.1
  • webpack ^5.73.0
  • webpack-cli ^4.10.0
  • webpack-node-externals ^3.0.0
  • webpack-shell-plugin-next ^2.2.2
packages/server/yarn.lock npm
  • 1333 dependencies
packages/types/package.json npm
  • typescript ^4.3.5 development
yarn.lock npm
  • 131 dependencies
.github/workflows/ci.cd.yml actions
  • actions/checkout v3 composite
  • actions/setup-node v3 composite
packages/client/Dockerfile docker
  • nginx 1.21-alpine build
  • node 16 build
packages/server/Dockerfile docker
  • node 16 build