ngunyimacharia / laravel-openedx
OpenEdx integration for laravel framework.
Requires
- guzzlehttp/guzzle: ^6.3
- illuminate/support: ~5
- ixudra/curl: ^6.16
- oriceon/toastr-5-laravel: ^1.0
Requires (Dev)
- mockery/mockery: ^1.1
- orchestra/testbench: ~3.0
- phpunit/phpunit: ~7.0
- sempro/phpunit-pretty-print: ^1.0
README
Laravel connector for OpenEdx Learning Management System.
Installation
Via Composer
$ composer require ngunyimacharia/laravel-openedx
Configuration
-
Run
php artisan vendor:publish
to push the configuration file for the package. This file will be saved asopenedx.php
-
Configure the following required values in your
.env
fileMICROSITE_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.