ltijs
Turn your application into a fully integratable LTI 1.3 tool or platform.
Last updated 16 days ago by cvmcosta .
MIT · Repository · Bugs · Original npm · Tarball · package.json
$ cnpm install ltijs 
SYNC missed versions from official npm registry.


Turn your application into a fully integratable LTI 1.3 tool provider or consumer.

travisci codecov Node Version NPM package NPM downloads dependencies Status devDependencies Status JavaScript Style Guide APACHE2 License Donate

v2.1.5 MINOR CHANGE

  • whitelist() method now accepts objects with the format { route: '/route', method: 'POST' }.

Table of Contents


Introduction

According to the IMS Global Learning Consortium, the Learning Tools Interoperability (LTI) protocol is an IMS standard for integration of rich learning applications within educational environments. ref

This package implements a tool provider and consumer (currently in development) as an Express server, with preconfigured routes and methods that manage the LTI 1.3 protocol for you. Making it fast and simple to create a working learning tool without having to worry about manually implementing any of the security and validation required to do so.


Installation

Installing the package

$ npm install ltijs

MongoDB

  • This package uses mongoDB to store and manage the server data, so you need to have it installed, see link bellow for further instructions. Installing mongoDB

PostgreSQL

  • This package can also use PosgreSQL to store and manage the server data, it does so through the plugin ltijs-postgresql.

Firestore

  • This package can also use Firestore to store and manage the server data, it does so through the plugin ltijs-firestore.

Features

Feature Implementation Documentation
Provider
✔️
✔️
Platform Class
✔️
✔️
Database plugins
✔️
✔️
Grade Service Class
✔️
Firebase support
✔️
MySql support
Keyset endpoint support
Redis caching
Names and Roles Service Class

This package implements LTI Provider and Consumer servers. See bellow for specific documentations.

LTIjs Provider Documentation

LTIjs Consumer Documentation (Coming soon)


Usage

Example of provider usage

Update and install this package first

$ npm install ltijs

Install mongoDB

Instantiate and use Provider class

const path = require('path')

// Require Provider 
const LTI = require('ltijs').Provider

// Configure provider
const lti = new LTI('EXAMPLEKEY', 
            { url: 'mongodb://localhost/database' }, 
            { appUrl: '/', loginUrl: '/login', logger: true })


let setup = async () => {
  // Deploy and open connection to the database
  await lti.deploy()

  // Register platform
  let plat = await lti.registerPlatform({ 
    url: 'https://platform.url',
    name: 'Platform Name',
    clientId: 'TOOLCLIENTID',
    authenticationEndpoint: 'https://platform.url/auth',
    accesstokenEndpoint: 'https://platform.url/token',
    authConfig: { method: 'JWK_SET', key: 'https://platform.url/keyset' }
})

  // Set connection callback
  lti.onConnect((connection, request, response) => {
    // Call redirect function
    lti.redirect(response, '/main')
  })

  // Set main endpoint route
  lti.app.get('/main', (req, res) => {
    // Id token
    console.log(res.locals.token)
    res.send('It\'s alive!')
  })
}
setup()

Documentation

You can find the project documentation here.


Contributing

If you find a bug or think that something is hard to understand feel free to open an issue or contact me on twitter @cvmcosta, pull requests are also welcome :)

And if you feel like it, you can donate any amount of money through paypal, it helps a lot.

Donate

Contributors

Carlos Costa
Carlos Costa

???????? ???? ???? ????
Lucas Terças
Lucas Terças

???? ????
Micael Gomes
Micael Gomes

????

License

APACHE2 License

Current Tags

  • 2.1.7                                ...           latest (16 days ago)

57 Versions

  • 2.1.7                                ...           16 days ago
  • 2.1.6                                ...           16 days ago
  • 2.1.5                                ...           16 days ago
  • 2.1.4                                ...           2 months ago
  • 2.1.3                                ...           2 months ago
  • 2.1.2                                ...           2 months ago
  • 2.1.1                                ...           2 months ago
  • 2.1.0                                ...           2 months ago
  • 2.0.9                                ...           2 months ago
  • 2.0.7                                ...           2 months ago
  • 2.0.5                                ...           2 months ago
  • 2.0.1                                ...           2 months ago
  • 2.0.0                                ...           2 months ago
  • 1.2.1                                ...           3 months ago
  • 1.2.0                                ...           3 months ago
  • 1.1.1                                ...           3 months ago
  • 1.1.0                                ...           3 months ago
  • 1.0.33                                ...           3 months ago
  • 1.0.32                                ...           3 months ago
  • 1.0.31                                ...           3 months ago
  • 1.0.30                                ...           3 months ago
  • 1.0.29                                ...           3 months ago
  • 1.0.28                                ...           3 months ago
  • 1.0.27                                ...           3 months ago
  • 1.0.26                                ...           3 months ago
  • 1.0.25                                ...           3 months ago
  • 1.0.22                                ...           4 months ago
  • 1.0.21                                ...           4 months ago
  • 1.0.20                                ...           4 months ago
  • 1.0.19                                ...           4 months ago
  • 1.0.18                                ...           4 months ago
  • 1.0.17                                ...           4 months ago
  • 1.0.16                                ...           4 months ago
  • 1.0.15                                ...           4 months ago
  • 1.0.14                                ...           4 months ago
  • 1.0.13                                ...           4 months ago
  • 1.0.12                                ...           4 months ago
  • 1.0.11                                ...           4 months ago
  • 1.0.10                                ...           4 months ago
  • 1.0.9                                ...           4 months ago
  • 1.0.8                                ...           4 months ago
  • 1.0.7                                ...           4 months ago
  • 1.0.6                                ...           4 months ago
  • 1.0.5                                ...           4 months ago
  • 1.0.4                                ...           4 months ago
  • 1.0.3                                ...           4 months ago
  • 1.0.2                                ...           4 months ago
  • 1.0.1                                ...           4 months ago
  • 0.6.13                                ...           4 months ago
  • 0.6.12                                ...           4 months ago
  • 0.6.1                                ...           4 months ago
  • 0.6.0                                ...           4 months ago
  • 0.5.5                                ...           4 months ago
  • 0.5.4                                ...           4 months ago
  • 0.5.3                                ...           4 months ago
  • 0.5.2                                ...           4 months ago
  • 0.5.1                                ...           4 months ago
Maintainers (1)
Downloads
Today 0
This Week 0
This Month 0
Last Day 0
Last Week 0
Last Month 62
Dependencies (16)
Dev Dependencies (14)
Dependents (0)
None

Copyright 2014 - 2017 © taobao.org |