Code Monkey home page Code Monkey logo

bigbluebutton-api-java's Introduction

Special note:

  1. This project used Lombok library, if you want to deploy this project, make sure you have Lombok installed. To install, follow the following steps:
    • download from https://projectlombok.org/download
    • go to the location where the Lombar.jar was downloaded, and run "java -jar lombok.jar", change the jar file name to the name of the lombok jar file that you downloaded
    • after you run the previous step, a window should appear, brownse to your editor location (for eclipse, it's where eclipse.exe is located)
    • click install
    • launch Eclipse (or other IDE)
    • add the zomlok library to your project (right click on the properties -> Java Build Path -> Libraries -> add Extenal JARs -> select the lombok jar file that you just downloaded -> Apply and Close

bigbluebutton-api-java's People

Contributors

jfederico avatar yunkaiwang avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

bigbluebutton-api-java's Issues

Implement Java library for BigBlueButton

Description
Create an official Java library for BigBlueButton.

Motivations
Currently official BigBlueButton holds the official PHP library https://github.com/bigbluebutton/bigbluebutton-api-php then Mconf maintains the Ruby library https://github.com/mconf/bigbluebutton-api-ruby

Gathering everyone around a community-maintained java library is very useful as example for implementing, JVM server side applications, CLI tools, implementing Selenium tests with Java and extending BigBlueButton server features for custom-built BigBlueButton platforms.

Technical Requirements

  • Support JVM 11+
  • Support BigBlueButton API 2.6+

Functional Requirements

  • Easy integration: The library should be easy to integrate with other applications and provide clear documentation and examples to help developers get started quickly.
  • Robust error handling: The library should have robust error handling to handle BigBlueButton API specific error scenarios that can occur during API calls and prevent misuses or wrong assumptions of the API understanding.
  • Flexibility: The library should be flexible and provide options to configure the library's behavior, such using environment variables, configuring hash algorithm.
  • Performance: The library should be optimized for performance and have minimal overhead by using third party libraries as less as possible.
  • Testing and coverage: The library should have unit tests implemented for almost every line. A 80%+ of code coverage is advised to comply to quality standards.

Implementation progress

The #2 PR is being implemented

Packaging

  • deploy to maven central

Library

  • unit tests
    • validate responses with mock XML files
  • hashing algorithms
  • logging configuration
  • validate url parameters

API

  • create
    • handle meeting ID format exception
    • pre-upload slide
    • handle meta
  • join
  • insertDocument
  • isMeetingRunning
  • end
  • getMeetingInfo
  • getMeetings
  • getRecordings
    • handle meta
  • publishRecordings
  • deleteRecordings
  • updateRecordings
    • handle meta
  • getRecordingTextTracks
    • handle meta
  • putRecordingTextTrack
  • hooks/create
  • hooks/destroy
  • hooks/list
  • exception handling

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.