Curated list of the top open‑source Learning Record Store (LRS) solutions that fully support the xAPI (Tin Can) specification for tracking, storing, and retrieving learning experience data.
Get targeted exposure with custom position pinning and highlighted placement.
The most widely‑adopted open‑source LRS, offering robust data storage, analytics dashboards, and a flexible plugin architecture.
A lightweight, Docker‑ready LRS written in Node.js, focused on simplicity and easy integration with existing LMS platforms.
A community‑driven LRS built with Go, delivering high performance and a RESTful API that mirrors the xAPI spec.
PHP implementation of the xAPI reference LRS, ideal for PHP‑centric stacks and easy to embed in Laravel or Symfony projects.
A minimalist LRS written in Node.js/Express, supporting statement storage, retrieval, and basic query filtering.
High‑throughput LRS built in Rust, leveraging async I/O for massive concurrent statement ingestion.
Reference LRS written in Python, compatible with Django and Flask, providing a clean API and extensible storage back‑ends.
Go‑language reference implementation from ADL, offering a solid foundation for building custom LRS services.
Java‑based reference LRS that can be deployed on any servlet container, with support for JPA/Hibernate persistence.
Open‑source LRS for the .NET ecosystem, supporting ASP.NET Core and Azure SQL storage.
PHP reference LRS offering Composer installation, PSR‑7 compliance, and MySQL/PostgreSQL adapters.
A Ruby on Rails LRS that follows the xAPI spec, featuring ActiveRecord persistence and built‑in analytics endpoints.
Express.js based LRS with JWT authentication, MongoDB storage, and real‑time WebSocket notifications for new statements.
Flask micro‑service LRS that can be containerized with Docker, supporting SQLite, PostgreSQL, and Redis back‑ends.
Scalable LRS built on Kubernetes, offering multi‑tenant support and Prometheus metrics out of the box.
A collection of reusable modules for building custom LRS features, including statement validation, batching, and archiving.
Elixir/Phoenix based LRS designed for fault‑tolerant, distributed deployments with real‑time dashboards.
Modular .NET Core framework for building LRS solutions, with plug‑and‑play storage providers and API versioning.
While primarily a proxy, this project includes a minimal LRS layer useful for testing and low‑volume deployments.
A stripped‑down LRS focused on rapid prototyping, storing statements in flat files or SQLite.
Node.js LRS with native MongoDB storage, supporting bulk inserts and flexible query filters.
Go LRS that leverages PostgreSQL’s JSONB capabilities for efficient statement indexing and retrieval.
An LRS extension that adds built‑in analytics pipelines, exporting aggregated data to CSV or Grafana.
Rust‑based LRS with a focus on security and performance, supporting encrypted storage and TLS‑only communication.
Docker Compose bundle that spins up a full LRS stack (PostgreSQL + Node.js LRS) with pre‑configured admin UI.
Kotlin/JVM LRS offering coroutine‑based async handling and easy integration with Spring Boot applications.
Swift server‑side LRS built on Vapor, suitable for iOS‑centric ecosystems and Apple‑cloud deployments.
Functional LRS implementation in Haskell, emphasizing type safety and formal verification of xAPI compliance.
A Laravel package that adds full xAPI LRS capabilities to any Laravel application, with Artisan commands for migrations.
NestJS (TypeScript) LRS module offering decorators, guards, and a GraphQL endpoint alongside the REST API.