ltijs
v7.0.0
Published
Easily turn your web application into a LTI 1.3 Learning Tool.
Maintainers
Readme
Easily turn your web application into a LTI® 1.3 Learning Tool.
v7 is a full rewrite, with a new, TypeScript-first
Providerclass. Coming from an earlier version? See Migrating from ltijs v5, or the Legacy docs for the full v5 and earlier documentation.
The Learning Tools Interoperability (LTI®) protocol is a standard for integrating rich learning applications within educational environments (spec). ltijs implements a full LTI® 1.3 tool provider, including launches, Deep Linking, Assignment and Grade Services, Names and Role Provisioning, and Dynamic Registration, as a pluggable, TypeScript-first library. You get a working learning tool without implementing any of the underlying security and validation yourself.
Quick start
npm install ltijsimport { Provider } from 'ltijs'
const provider = new Provider({
database: { url: 'mongodb://localhost/ltijs' },
})
provider.onResourceLink(async (context, request, response) => {
response.html(`Hello, ${context.idToken.user.name ?? 'learner'}!`)
})
await provider.listen()Continue with Getting Started for the full walkthrough, including registering a platform.
Documentation
- Guides: walkthroughs for setting up a Provider, handling launches, and using every LTI 1.3 service ltijs supports.
- API Reference: every exported class, method, and type ltijs ships.
LTI As A Service
A ready-to-go SaaS LTI solution.
If you need an enterprise-ready LTI deployment, LTIaaS can get you up and running in minutes. It's a SaaS solution with a powerful API giving you access to the entire LTI protocol, with consultation services available to help design, build, and maintain your tool.
Contributing
Please star us on GitHub, it always helps!
If you find a bug or think something is hard to understand, feel free to open an issue or contact @cvmcosta on Twitter. Pull requests are welcome too.
If you feel like it, you can also support the project directly:
Special thanks
Thank you to the Federal University of Maranhão and UNA-SUS/UFMA for the support throughout the entire development process.
Thank you to CourseKey for making the certification process possible and for the IMS membership through them, which contributed immensely to the future of the project.
Thank you to Examind for the work on the Firestore database plugin, and for the continuous help and support in the development of this project.
License
ltijs is released under the Apache-2.0 license.
Learning Tools Interoperability® (LTI®) is a trademark of the IMS Global Learning Consortium, Inc. (https://www.imsglobal.org)
