escolalms/scorm

Escola LMS SCORM management

Installs: 25 985

Dependents: 2

Suggesters: 0

Security: 0

Stars: 10

Watchers: 5

Forks: 4

Open Issues: 0

Type:package

0.2.23 2024-03-22 08:32 UTC

README

swagger codecov phpunit downloads downloads downloads

What does it do

This package is used to store and manage SCORM packages.

Installing

  • composer require escolalms/scorm
  • php artisan migrate
  • php artisan db:seed --class="EscolaLms\Scorm\Database\Seeders\DatabseSeeder"
  • php artisan db:seed --class="EscolaLms\Scorm\Database\Seeders\PermissionTableSeeder"

Database

  1. scorm - Scorm package main data.
  2. scorm_sco - Educational content data associated with the Scorm package.
  3. scorm_sco_tracking - Stores the user's progress.
Scorm 1 -> n ScormScos
Scorm 1 -> n ScormScoTracking

Tutorial

  1. Get the Scorm package from EscolaLms\Scorm or Sample SCORM packages.
  2. Upload Scorm package in Zip format /api/admin/scorm/upload.
  3. Start the player by specifying uuid Scorm SCO /api/scorm/play/{uuid}.
  4. The package supports tracking user progress, to achieve this, you need to send an authorization token in the header.

Endpoints

  • /api/admin/scorm/upload - Upload ZIP Scorm Package into app local storage.
  • /api/scorm/play/{uuid} - SCORM SCO player.

All the endpoints are defined in swagger swagger

Tests

Run ./vendor/bin/phpunit to run tests. See tests folder as it's quite good staring point as documentation appendix.

Test details codecov phpunit

How to use this on frontend.

Endpoint /api/scorm/play/{uuid} returns the html file with the <iframe>.

<html lang="en">
...
<iframe src="api/storage/{scorm-version}/{uuid}/index.html"></iframe>
...
</html>

Admin panel

List of Scorm packages List of Scorm packages

Scorm player Scorm player

Permissions

Permissions are defined in seeder.

Todo.

The package does not support all available scorm formats #1 #2