GithubHelp home page GithubHelp logo

riadvice / bbbeasy Goto Github PK

View Code? Open in Web Editor NEW
18.0 5.0 19.0 16.58 MB

Easy Multi-purpose Rooms Manager for BigBlueButton, with fine-grained and fully customisable configuration

Home Page: https://riadvice.tn

License: GNU Affero General Public License v3.0

PHP 49.03% HTML 1.17% CSS 5.19% JavaScript 5.46% TypeScript 36.27% Shell 2.73% Dockerfile 0.15%
bigbluebutton web-conferencing php reactjs bash bbb collaboration teamwork easy easy-to-use

bbbeasy's Introduction

BBBEasy Logo

GitHub forks GitHub stars

BBBEasy

BBBEasy is an open-source multipurpose meeting rooms manager for BigBlueButton.

Features

  • Smooth installation experience.

  • User friendly UI.

  • Manage different configuration presets and assign them to rooms.

  • Rooms management.

  • Users management.

Components

The web-application is split in two parts:

  • A server API.

  • A modern front-end.

🪴 Project Activity

Alt

Development

  • To launch the backend in the development mode, follow these steps :

         1- Start a Command Prompt as an Administrator.

         2- Run cd /path/to/cloned/project/.

         3- Run vagrant up && vagrant ssh and wait until the end of the process.

         4- Run cp /app/bbbeasy-backend/app/config/config-development.sample.ini /app/bbbeasy-backend/app/config/config-development.ini.

  • To launch the frontend in the development mode, follow these steps :

         1- Run cd /app/bbbeasy-frontend.

         2- Run cp /app/tools/bbbeasy /app/bbbeasy-frontend/bbbeasy.

         3- Run sed -i -e 's/\r$//' bbbeasy.

         4- Run sed -i -e 's/"bbbeasy /".\/bbbeasy /g' package.json.

         5- Run yarn start-dev-installer to enable the installer app or yarn start-dev to enable the web app.

Contributing

Security

Testing

Backend test:

Frontend test:

  • To start testing with Cypress, follow these steps :

         1- Enable the installer app as described in Development heading.

         2- Run yarn cypress.

         3- When the Command Prompt displays Wait 30 seconds until enabling web app (manually), terminate the running installer app.

         4- Run yarn start-dev within 30 seconds.

Technologies

Fat-Free Framework

Node.js

React JS

Redis

Percona Distribution for PostgreSQL

TypeSCript

Cypress

NGINX

Vagrant

bbbeasy's People

Contributors

amin-ous avatar chaima-tn avatar chaimabg avatar cherifamine avatar dependabot[bot] avatar fatenrakrouki123 avatar ghazitriki avatar hanazarraa avatar marwa-benhassine avatar saoussenblk avatar sneakpeeks avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

bbbeasy's Issues

Improve forms validation

From a user experience perspective the form validation should have direct effect on the user inputs. We have different ways to achieve that but we need to have a per-input error display. Global red box error summary display to avoid as much has possible.

We have multiple ways doing so:

  1. Easiest: Validate in the client, then do validation in the server, global error box will display very rarely.
  2. Longest: Validate data only in the server, but validated error must be returned into an array and each error displayed in its field.

So global error display might be removed.

Implement public/restricted routes

Originally from @MohamedRWalha

We need a clear design for the roles/permissions.

  • Add new metadata @acl in tghe class with params "VERB @alias" or just @alias
  • List all classes loaded by SPL under Actions\ (filter)
  • Model to be configurable to acl is Actions\${Model} and action is the class name.
  • Load routes in session using @acl and saved data.

==> dynamic output

$role is the user role in the sessions
$f3->allow('@aclvalue', '$f3->session()->userRole()')

If I select a permission all underneath permissions must be pre-selected.

Agree about a convention naming routes

GET @user_view
POST @user_add
PATCH @user_update
DELETE @user_delete
POST @user_merge

Start looking here https://www.php.net/manual/fr/class.reflectionclass.php

Load data into redis cache after reading it the first time, othewise cached permissions list must be manually cleared.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.