finds.dev← search

// the find

adaptlearning/adapt_authoring

★ 557 · JavaScript · GPL-3.0 · updated Feb 2026

A server-based user interface for authoring eLearning courses using the Adapt framework.

A web-based authoring tool for building SCORM-compatible HTML5 e-learning courses on top of the Adapt framework. It gives instructional designers a GUI to assemble courses without touching JSON config files. The target user is an L&D team already bought into the Adapt ecosystem, not a developer looking for a general content tool.

The SCORM export story is solid — Adapt Framework underneath handles xAPI and SCORM 1.2/2004 packaging, which is the primary requirement for anyone deploying to an LMS. The plugin/component model mirrors the underlying framework cleanly, so custom components built for Adapt Framework drop into the authoring tool without glue code. MongoDB as the content store is a reasonable fit here — course content is deeply nested JSON and document storage avoids the impedance mismatch you'd get with a relational schema. The Backbone.js frontend is old but coherent; the MVC separation means the codebase is at least navigable.

The stack is frozen in 2015: Backbone.js, Grunt, LESS, and vendored copies of every library including all ~150 Ace editor language modes checked directly into the repo. Nobody is modernizing this. The last meaningful activity is thin for a tool this complex — 557 stars and 298 forks but the commit cadence doesn't inspire confidence for a production dependency. Setup is genuinely painful: Node.js + MongoDB + a Grunt build chain with manual config file editing; there's no Docker path and the install docs read like a 2014 tutorial. Multi-tenancy and access control are bolted on rather than designed in, so running this for more than one team or with fine-grained permissions quickly becomes a problem.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →