Skip to content

Server program for the integrated statistics learning environment (ISLE).

License

Notifications You must be signed in to change notification settings

isle-project/isle-server

Repository files navigation

ISLE Server License

ISLE logo

Build

Actions Status Coverage

Introduction

Server program for integrated statistics learning environment (ISLE) lessons. Other parts of the ISLE environment are:

  • the isle-editor is used to author ISLE lessons
  • the isle-dashboard is the online dashboard used to deploy, organize and monitor ISLE lessons

Prerequisites

Developing and running the ISLE server has the following prerequisites:

  • git: version control
  • Node.js: JavaScript runtime (version >= 14.0)
  • MongoDB: NoSQL document database

Download

To acquire the source code, clone the git repository.

$ git clone https://github.com/isle-project/isle-server

Installation

To install development dependencies,

$ npm install

Encryption of Sensitive Files

Files in the credentials folder have been transcrypted.

Starting

To start the server,

npm start 

To make sure the server restarts in case of a crash, it is advised to use it via pm2:

pm2 start lib/index.js --name isle-server

Tests

Unit

The server uses tape for unit tests. To run the tests, execute the following command in the top-level application directory:

$ npm test

Test Coverage

This repository uses Istanbul as its code coverage tool. To generate a test coverage report, execute the following command in the top-level application directory:

$ npm run test-cov

Istanbul creates a ./reports/coverage directory with an HTML version of the report.

License

See LICENSE.

Icon Credits

  • User Icon by Atacan from the Noun Project
  • Badge Icon by Royyan Wijaya from the Noun Project
  • Upload Icon by McGalloway, CC BY-SA 4.0
  • Badge by Kristin Hogan from the Noun Project
  • Question by unlimicon from the Noun Project
  • profile by Hea Poh Lin from the Noun Project
  • weights by José Manuel de Laá from the Noun Project
  • chat by nauraicon from the Noun Project
  • feedback by Delwar Hossain from the Noun Project
  • profile by icongeek from the Noun Project