All Projects → THM-Health → PILOS

THM-Health / PILOS

Licence: LGPL-2.1 License
PILOS is an easy-to-use open source front-end for BigBlueButton servers with a built-in load balancer.

Programming Languages

PHP
23972 projects - #3 most used programming language
Vue
7211 projects

Projects that are alternatives of or similar to PILOS

a13-ansible
No longer maintained - Ansible playbook for a bigbluebutton cluster for multiple schools. A13 because internal codename was Apollo 13 ;)
Stars: ✭ 19 (+26.67%)
Mutual labels:  bigbluebutton
bbb-admin
Scripts for BigBlueButton admins including extracting IP of users joining, participants attendance and poll answers
Stars: ✭ 17 (+13.33%)
Mutual labels:  bigbluebutton
bbb-easy-join
easy frontend to BigBlueButton without signups - just enter an room name to join
Stars: ✭ 28 (+86.67%)
Mutual labels:  bigbluebutton
bbb-downloader
a few scripts for downloading BBB videos
Stars: ✭ 98 (+553.33%)
Mutual labels:  bigbluebutton
bigbluebutton-api-python
👨‍🏫 BigBlueButton Python API
Stars: ✭ 21 (+40%)
Mutual labels:  bigbluebutton
bigbluebutton-docker
merged into https://github.com/bigbluebutton/docker
Stars: ✭ 100 (+566.67%)
Mutual labels:  bigbluebutton
Bigbluebutton
Complete open source web conferencing system.
Stars: ✭ 7,160 (+47633.33%)
Mutual labels:  bigbluebutton
bbb app
Our attempt at a mobile app client for BigBlueButton services.
Stars: ✭ 83 (+453.33%)
Mutual labels:  bigbluebutton
bigbluebutton-api-php
Unofficial (but better) PHP API for @bigbluebutton
Stars: ✭ 15 (+0%)
Mutual labels:  bigbluebutton
BigBlueButtonDownloader
BigBlueButton Video Downloader
Stars: ✭ 14 (-6.67%)
Mutual labels:  bigbluebutton
bbb-render
Scripts to convert a BigBlueButton recording into a single video file
Stars: ✭ 46 (+206.67%)
Mutual labels:  bigbluebutton

PILOS

Status codecov

PILOS (Platform for Interactive Live-Online Seminars) is an easy to use frontend for BigBlueButton developed at the TH Mittelhessen University of Applied Sciences (THM) Faculty of Health (FB GES). It is based on the experience of students, teachers and staff during the covid-19 pandemic, and the raised need for a modern and flexible video conferencing system for the use case of digital class rooms, group learning and other digital meetings.

This Frontend uses BigBlueButton and is not endorsed or certified by BigBlueButton Inc. BigBlueButton and the BigBlueButton Logo are trademarks of BigBlueButton Inc.

Table of Contents

About

The interface is similar to another open-source project Greenlight. During the online semester 2020 many features araised that could not be solved or were hard to implement into Greenlight. The team behind Greenlight did an amazing job, and we want to thank for their hard work!

However, due to the underlying ruby-on-rails software architecture and the small amount of rails software-packages we decided to build a new system with another architecture.

Architecture

PILOS is using Vue.js as the Frontend JavaScript Framework, Laravel as a PHP based JSON API and littleredbutton's bigbluebutton-api-php as the api for controlling BBB.

Installation

Laravel is the main backend framework that used to develop PILOS. Follow the documentation here to install the necessary libs on your server.

A BigBlueButton server is necessary to use this application. See how to set up a BigBlueButton server here.

PILOS allows users to login with LDAP and manual user accounts. For the LDAP authentication an LDAP server e.g. OpenLDAP is necessary. An alternative Shibboleth authenticator is in progress (#139).

For the deployment of the frontend javascript nodejs is necessary. Currently, all versions above 12.0.0 are supported.

After installing the necessary packages either download a zip or clone the application into the desired path by using the following git command:

git clone https://github.com/THM-Health/PILOS.git custom-path

Install the necessary requirements for the backend by running the following command:

composer install

Afterwards copy the .env.example to .env and make your necessary adjustments.

At least the database, mail and LDAP must be configured, and the two following must be adjusted to the domain where the frontend code is served.

SANCTUM_STATEFUL_DOMAINS=FRONTEND_DOMAIN
SESSION_DOMAIN=FRONTEND_DOMAIN

Also, it is necessary to generate a new application key with the following command:

php artisan key:generate

You can check if the LDAP configured correctly, by using the following artisan command:

php artisan ldap:test

Next it is necessary to initialize the database with the following commands:

php artisan migrate
php artisan db:seed

If you want to adjust the frontend, please checkout this page.

Finally, build the frontend using the following npm command:

npm run production

You may also want to map LDAP groups to user roles in this application by adjusting the LDAP_ROLE_ATTRIBUTE and the LDAP_ROLE_MAP environment variables.

The first admin user can be created by running the following command:

php artisan users:create:admin

After successfully executing all the steps above, application is successfully installed and ready to be used.

To log the status of all meetings and servers and to keep the database up to date, setup a cronjob on your server.

* * * * * cd /path-to-your-project && php artisan schedule:run >> /dev/null 2>&1

Stacks

The main parts of the application are:

  1. BigBlueButton - BigBlueButton is an open source web conferencing system.
  2. littleredbutton/bigbluebutton-api-php - An unofficial php api for BigBlueButton.
  3. Laravel - Laravel is a web application framework with expressive, elegant syntax. We’ve already laid the foundation — freeing you to create without sweating the small things.Laravel is a web application framework with expressive, elegant syntax. We’ve already laid the foundation — freeing you to create without sweating the small things.
  4. Vue - a progressive Javascript framework for building user interfaces.

A almost full list of libraries and other software components can be found here!

Contributing

Please check our contribution guidelines.

License

This PILOS project is open-sourced software licensed under the LGPL license.

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].