Skip to content

Laravel package for integration with OpenEdx

License

MIT, MIT licenses found

Licenses found

MIT
LICENSE
MIT
license.md
Notifications You must be signed in to change notification settings

ngunyimacharia/laravel-openedx

Repository files navigation

laravel-openedx

Latest Version on Packagist Total Downloads

Laravel connector for OpenEdx Learning Management System.

Installation

Via Composer

$ composer require ngunyimacharia/laravel-openedx

Configuration

  1. Run php artisan vendor:publish to push the configuration file for the package. This file will be saved as openedx.php

  2. Configure the following required values in your .env file

    MICROSITE_BASE=example.com MICROSITE_URL=http(s)://example.com LMS_BASE=https://courses.example.com CMS_BASE=https://studio.courses.example.com LMS_REGISTRATION_URL=https://courses.example.com/user_api/v1/account/registration/ LMS_LOGIN_URL=https://courses.example.com/user_api/v1/account/login_session/ LMS_RESET_PASSWORD_PAGE=https://courses.example.com/user_api/v1/account/password_reset/ LMS_RESET_PASSWORD_API_URL=https://courses.example.com/user_api/v1/account/password_change/ (custom configured) REGISTER_EMAIL_FIELD=register_email REGISTER_PASSWORD_FIELD=register_password LOGIN_EMAIL_FIELD=login_email LOGIN_PASSWORD_FIELD=login_password EDX_DB_HOST=127.0.0.1 EDX_DB_USERNAME=root EDX_DB_PASSWORD=password EDX_KEY=xxxxxxxxx (for api access) EDX_SECRET=xxxxxxxxx (for api access)

Usage

Add openedx facade to file

use ngunyimacharia\openedx\Facades\openedx;

Register user

Openedx::register([
'first_name'=>$first_name,
'last_name'=>$last_name,
'username'=>$username,
'email'=> $email,
'password'=> $hashed_password
]);

Response: Boolean (if operation is successful)

Login user

Openedx::login(['username'  => $username', 'password'  => $password']);

Response: Cookies saved to ensure sign-in.

Logout user

Openedx::logout()

Response: Boolean (if operation is successful

NB: It is recommended to create an iframe to call the LMS logout url as opposed to using this method to logout of the LMS.

Get all courses

Openedx::getCourses()

Response: Array of all courses currently in LMS

Get course overview

Openedx::getOverview($courseId)

Response: Course overview

Check enrollment status

Openedx::checkEnrollmentStatus($courseId)

Response: Enrollment status of current authenticated user for the course specified.

Enroll into course

Openedx::enroll($courseId)

Response: Boolean (Based on success of operation)

Enrollments

Openedx::enrollments()

Response: Array of all course enrollments LMS wide.

Get course progress

Openedx::getCourseProgress($courseId)

Response: String status of authenticated user in current course.

Changelog

Please see the changelog for more information on what has changed recently.

Testing (Pending)

$ composer test

Contributing

Please see contributing.md for details and a todolist.

Security

If you discover any security related issues, please email author email instead of using the issue tracker.

Credits

License

Please see the license file for more information.

About

Laravel package for integration with OpenEdx

Resources

License

MIT, MIT licenses found

Licenses found

MIT
LICENSE
MIT
license.md

Stars

Watchers

Forks

Packages

No packages published