All Projects → g3i → Lxhive

g3i / Lxhive

Licence: gpl-3.0
A lightweight Experience API Learning Record Store (LRS)

Projects that are alternatives of or similar to Lxhive

Mongo Cxx Driver
C++ Driver for MongoDB
Stars: ✭ 792 (+984.93%)
Mutual labels:  database, mongodb
Mongo4idea
MongoDB integration in Intellij
Stars: ✭ 966 (+1223.29%)
Mutual labels:  database, mongodb
Reactivemongo
🍃 Non-blocking, Reactive MongoDB Driver for Scala
Stars: ✭ 825 (+1030.14%)
Mutual labels:  database, mongodb
Blog
Everything about database,business.(Most for PostgreSQL).
Stars: ✭ 6,330 (+8571.23%)
Mutual labels:  database, mongodb
Docker Backup Database
Docker image to periodically backup your database (MySQL, Postgres, or MongoDB) to S3 or local disk.
Stars: ✭ 57 (-21.92%)
Mutual labels:  database, mongodb
Migrate
Database migrations. CLI and Golang library.
Stars: ✭ 7,712 (+10464.38%)
Mutual labels:  database, mongodb
Learningprocess
💥 本仓库用于记录我的学习历程和学习笔记
Stars: ✭ 31 (-57.53%)
Mutual labels:  mongodb, learning
Denodb
MySQL, SQLite, MariaDB, PostgreSQL and MongoDB ORM for Deno
Stars: ✭ 498 (+582.19%)
Mutual labels:  database, mongodb
Nodbi
Document DBI connector for R
Stars: ✭ 56 (-23.29%)
Mutual labels:  database, mongodb
Wertik Js
💪 A library that powers your app with GraphQL + Rest API
Stars: ✭ 56 (-23.29%)
Mutual labels:  database, mongodb
Restheart
RESTHeart - The REST API for MongoDB
Stars: ✭ 659 (+802.74%)
Mutual labels:  database, mongodb
Avocado
Strongly-typed MongoDB driver for Rust
Stars: ✭ 70 (-4.11%)
Mutual labels:  database, mongodb
Mongoui
MongoDB admin UI server written in Node.js 🎮
Stars: ✭ 566 (+675.34%)
Mutual labels:  database, mongodb
Cocorico
👐 Cocorico is an open source marketplace solution for services and rentals. More information right here: https://www.cocorico.io/en/ 🚀 Cocorico is also available in an off-the-shelf SaaS package, check out https://www.hatch.li to launch your platform today. 😍 We are hiring (telecommute welcome 🏡): https://www.welcometothejungle.com/en/companies/cocorico/jobs/candidatures-spontanees#apply
Stars: ✭ 765 (+947.95%)
Mutual labels:  database, mongodb
Backup
Easy full stack backup operations on UNIX-like systems.
Stars: ✭ 4,682 (+6313.7%)
Mutual labels:  database, mongodb
Mongodb Interview Questions
MongoDB Interview Questions
Stars: ✭ 31 (-57.53%)
Mutual labels:  database, mongodb
Qmgo
Qmgo - The Go driver for MongoDB. It‘s based on official mongo-go-driver but easier to use like Mgo.
Stars: ✭ 444 (+508.22%)
Mutual labels:  database, mongodb
Migrate Mongo
A database migration tool for MongoDB in Node
Stars: ✭ 481 (+558.9%)
Mutual labels:  database, mongodb
East
node.js database migration tool
Stars: ✭ 53 (-27.4%)
Mutual labels:  database, mongodb
Restfeel
RESTFeel: 一个企业级的API管理&测试平台。RESTFeel帮助你设计、开发、测试您的API。
Stars: ✭ 59 (-19.18%)
Mutual labels:  database, mongodb

lxHive

  • Current release: 0.10.1
  • Supports xAPI spec <= 1.0.3

CircleCI branch lx-Test-Suite lrs-conformance-test-suite SensioLabs Insight GitHub issues GitHub forks GitHub stars GitHub license

Important note: lxHive changes ownership. Our organisation name changes from Brightcookie to G3 International. Please update your remotes in your fork.

# given your linked remote's name is "upstream"
git remote set-url upstream <TODO>

Important note: Current version (0.10.0) is not compatible with older lxHive versions. It is not possible to upgrade a legacy lxHive instance. This incompatibility is due to :

  • different server requirements
  • a changed database model
  • behavioural changes (permissions)

See the changelog for more details. At the moment there are no plans to release an open source database migration script. Please get in touch with us should you need to migrate data.

1. Introduction

lxHive is a fast and lightweight open source xAPI conformant Learning Record Store (LRS). lxHive logs and returns activity statements as defined in the Experience API specification (formerly TinCan API) currently at xAPI Version 1.0.3.

The Experience API (also referred to as 'xAPI') is a learning software specification that allows online learning content and systems to interact allowing recording and tracking of all types of learning experiences. It is designed to replace the legacy SCORM Standard and is steered by the US Dept. of Defense ADL (Advanced Distributed Learning). It allows for the efficient aggregation and analysis of learning data as well as allowing learning designers a flexible and intelligent way to design better learning experiences. The Experience API is able to accept learning experiences from any device and/or medium (mobile, tablet, desktop), both in an offline as well as online mode.

The results of learning experiences are stored in a Learning Record Store (LRS). The LRS is defined as part of the Experience API Specification and controls at its core the following functions:

  1. Authentication of authorised users
  2. Validation of compliance to the xAPI Standard
  3. The storage of learning related data
  4. Retrieval of learning related data

The application uses MongoDB and PHP and should be easy to install on any web server. It supports Basic Authentication, OAuth 2.0 (Authorization Code Grant) and supports pluggable file storage mechanisms.

2. License

  • GNU GPL v3

3. Document storage endpoints

endpoint xAPI version PUT POST GET DELETE Notes Links
/about 1.0.2 - - x - (JSON) info about LRS xAPI, section 7.7
/statements 1.0.2 x x x - (JSON) create, retrieve xAPI statements xAPI, section 7.2
/activities 1.0.2 - - x - (JSON) retrieve s single activity xAPI, section 7.5
/activities/state 1.0.2 x x x x (JSON) CRUD - state(s) of an activity xAPI, section 7.4
/activities/profile 1.0.2 x x x x (JSON) CRUD - profile(s) of an activity xAPI, section 7.5
/agents 1.0.2 - - x - (JSON) retrieve a single agent xAPI, section 7.6
/agents/profile 1.0.2 x x x x (JSON) CRUD - profile(s) of an actor xAPI, section 7.6
  • see our wiki for a complete list of lxHive endpoints

4. Installation

Requirements

  • PHP >= 5.5.9, with MongoDB extension installed
  • (optional) PHPUnit to run tests.
  • .htaccess enabled (or similar HTTP rewrite function)
  • Composer installed
  • Mongo DB installed (requires version >= 3.0)
  • OpenSSL

Notes:

  • Make sure you have set the date.timezone setting in your php.ini
  • lxHive >= 0.10.0 supports PHP 7.x
  • since lxHive 0.10.0 we switched the PHP Mongo driver from mongo (deprecated) to mongodb

Setup

1. Application install and set-up

  1. Install dependencies via composer install --no-dev -o.
  2. Point your server's DocumentRoot directive to the public folder
  3. Set up your database & client account:
# Browse to application root
$ cd /<path_to_application_root>
# View available commands
$ ./X
# Run the setup
$ ./X setup
# Create a new user
$ ./X user:create

Notes:

  • As an administrator you should first create a new user and authentication token for yourself and assign the super role to it.

2. Create autentication records for your app

./X auth:basic:create     # Create a new basic auth token
./X oauth:client:create   # Or create a new OAuth client (human login)

3. Set-up file Storage and extended config

  1. Optionally: Further customise your configuration in src/xAPI/Config/Config.yml

    • TODO: explain options
  2. Set up you local file system:

    • Create your storage directory as defined in Config.yml > filesystem.local.
    • Create the required files and log sub directories.
    • Assign the appropiate r\w permissions for your system.

Default file storage structure:

[lxHivE]
    |_ [storage]
    |   |_ [files]
    |   |_ [logs]
    |
    ...

3. Development

Documentation

Unit testing

Benchmarking

4. Contributors

The G3 International team

  • Jakob Murko - systems architect, lead developer
  • Leo Gaggl - creator, mentor, conformance
  • Joerg Boeselt - lead developer, project and community manager, tests, conformance
  • Matthew Smith - alpha prototype
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].