abiodunjames / Laravel Bigbluebutton
A BigBlueButton API wrapper for Laravel 5
Stars: ✭ 17
Projects that are alternatives of or similar to Laravel Bigbluebutton
Laravel Uptime Monitor
A powerful and easy to configure uptime and ssl monitor
Stars: ✭ 837 (+4823.53%)
Mutual labels: laravel
F32 For Android
Android library for temperature conversions and weather forecasts. Includes wrapper for OpenWeatherMap API
Stars: ✭ 16 (-5.88%)
Mutual labels: wrapper
Aetherupload Laravel
A Laravel package to upload large files 上传大文件的Laravel扩展包
Stars: ✭ 835 (+4811.76%)
Mutual labels: laravel
Laravel Jade
[Discontinued] Laravel package that adds Jade templating support
Stars: ✭ 5 (-70.59%)
Mutual labels: laravel
Scaffold Interface
🚀 A Smart CRUD Generator For Laravel
Stars: ✭ 836 (+4817.65%)
Mutual labels: laravel
Laravel Bootstrap Table List
Bootstrap table list generator for Laravel.
Stars: ✭ 16 (-5.88%)
Mutual labels: laravel
Laravel Like Vue Validator
An input validator mixin for Vue.js
Stars: ✭ 7 (-58.82%)
Mutual labels: laravel
Laravel Stager
Laravel Stager State Machine, Its purpose is to add state machine functionality to models
Stars: ✭ 16 (-5.88%)
Mutual labels: laravel
Laravel Jsonapi
Basic setup framework for creating a Laravel JSON-API server
Stars: ✭ 16 (-5.88%)
Mutual labels: laravel
Adldap2 Laravel
LDAP Authentication & Management for Laravel
Stars: ✭ 825 (+4752.94%)
Mutual labels: laravel
Lvlgrid
✨ Grid helper to your Laravel application. Filter, order and pagination ajax
Stars: ✭ 7 (-58.82%)
Mutual labels: laravel
Angular5.2 Laravel5.6
Angular 5.2 and Laravel 5.6 Authentication and CRUD
Stars: ✭ 17 (+0%)
Mutual labels: laravel
Acwa book ru
Книга "Архитектура сложных веб-приложений. С примерами на Laravel"
Stars: ✭ 886 (+5111.76%)
Mutual labels: laravel
BigBlueButton API Wrapper for Laravel
This is a laravel wrapper for BigBlueButton API
Requirements
- Laravel 5.3 or above.
Installation
Require package in your composer.json and update composer. This downloads the package and the official bigbluebutton php library.
composer require abiodunjames/bigbluebutton
After updating composer, add the ServiceProvider to the providers array in config/app.php
Abiodunjames\Bigbluebutton\BigbluebuttonProviderService::class,
You can optionally use the facade for shorter code. Add this to your facades:
'Meeting' => Abiodunjames\Bigbluebutton\BigbluebuttonMeeting::class,
Usage
You can define Big blue button secret key and server url in two ways.
- Define in .env file
BBB_SECURITY_SALT =bbb_secret_key
BBB_SERVER_BASE_URL=https://example.com/bigbluebutton/
- Define in config/bigbluebutton.php
'BBB_SECURITY_SALT' => 'bbb_secret_key',
'BBB_SERVER_BASE_URL' => 'https://example.com/bigbluebutton/',
Via Dependency Injection in Controller
List all meetings
namespace App\Http\Controllers;
class MeetingController extends Controller
{
/**
* @var \Abiodunjames\Bigbluebutton\Contracts\Meeting
*/
protected $meeting;
public function __construct(Meeting $meeting)
{
$this->meeting = $meeting;
}
/**
* Returns a list of meetings
*/
public function all()
{
$meetings = $this->meeting->all();
if ($meetings) {
// do something with meetings
}
}
Create meeting
use Abiodunjames\Bigbluebutton\Contracts\Meeting;
use BigBlueButton\Parameters\CreateMeetingParameters;
use Illuminate\Http\Request;
class MeetingController extends Controller
{
/**
* @var \Abiodunjames\Bigbluebutton\Contracts\Meeting
*/
protected $meeting;
public function __construct(Meeting $meeting)
{
$this->meeting = $meeting;
}
/**
* Create a bigbluebutton meeting
*
* @param \Illuminate\Http\Request $request
* @return void
*/
public function create(Request $request)
{
$meetingParams = new CreateMeetingParameters($request->meetingId, $request->meetingName);
$meetingParams->setDuration(40);
$meetingParams->setModeratorPassword('supersecretpwd');
if ($this->meeting->create($meetingParams)) {
// Meeting was created
}
}
Join a meeting
use Abiodunjames\Bigbluebutton\Contracts\Meeting;
use BigBlueButton\Parameters\JoinMeetingParameters;
use Illuminate\Http\Request;
class MeetingController extends Controller
{
/**
* @var \Abiodunjames\Bigbluebutton\Contracts\Meeting
*/
protected $meeting;
public function __construct(Meeting $meeting)
{
$this->meeting = $meeting;
}
/**
* Join a bigbluebutton meeting
*
* @param \Illuminate\Http\Request $request
* @return void
*/
public function join(Request $request)
{
$meetingParams = new JoinMeetingParameters($request->meetingID, $request->meetingName, 'MyMeetingPassword');
$meetingParams->setRedirect(true);
$meetingUrl = $this->meeting->join($meetingParams);
redirect()->setTargetUrl($meetingUrl);
}
}
Close meeting
use Abiodunjames\Bigbluebutton\Contracts\Meeting;
use BigBlueButton\Parameters\EndMeetingParameters;
use Illuminate\Http\Request;
class MeetingController extends Controller
{
/**
* @var \Abiodunjames\Bigbluebutton\Contracts\Meeting
*/
protected $meeting;
public function __construct(Meeting $meeting)
{
$this->meeting = $meeting;
}
/**
* End a bigbuebutton meeting
*
* @param \Illuminate\Http\Request $request
* @return void
*/
public function close(Request $request)
{
$meetingParams = new EndMeetingParameters($request->meetingID, $request->moderator_password);
$this->meeting->close($meetingParams);
}
}
Via Laravel Facade
You can also manage meetings using the facade
Meeting::all(); //get a list of all meetings
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].