An application allowing student groups to arbitrarily create and join to Big Blue Button conferences. Students are able to create tickets to ask instructors for help, which may then join at the click of a button. Implements parts of the BBB-API to allow for easy deployment in an existing BBB environment.
Create classrooms and join via BBB API. It is possible to configure the feedback system (or any BBB Gateway, like Greenlight or PILOS) to connect to the digital classroom instead of a BBB cluster. Use the classrooms (default: http://localhost:8085) as BBB server address.
Set properties in src/main/resources/application.properties. All relevant properties may be set via an environment variable.
Namespace |
Property |
Env. Variable |
Meaning |
upstream.bbb |
service-url |
CLASSROOM_BBB_UPSTREAM_URL |
The base URL of the BBB server to create conferences with. |
shared-secret |
CLASSROOM_BBB_UPSTREAM_SECRET |
Shared secret token to compute a checksum of requests against the BBB servers API with. See: BBB API Specification |
|
classroom |
host |
CLASSROOM_HOST |
Base URL (including the port if not default protocol port), at which the Digital Classroom application is contacted by users. Default: http://localhost:8085 |
prefix-path |
CLASSROOM_PREFIX_PATH |
URI Path added by a proxy or similar applications to contact the digital-classroom from the internet. Default: "" (empty string) |
|
shared-secret |
CLASSROOM_SECRET |
Shared secret token a checksum of any request against the classrooms BBB-like API is computed with. Semantics as specified by BBB API linked above. |
|
server |
port |
CLASSROOM_PORT |
Server port at which this application will listen to HTTP requests Default: 8085 |
server.ssl |
enabled |
CLASSROOM_SSL_ENABLED |
Whether to enable SSL encryption. Default: true |
key-store |
CLASSROOM_KEYSTORE_PATH |
Path to the key store that holds the SSL certificate Default: classpath:keystore.p12 |
|
key-store-password |
CLASSROOM_KEYSTORE_PASS |
Password used to access the key store. Default: passwd |
|
key-store-type |
CLASSROOM_KEYSTORE_TYPE |
Type of the key store. Default: PKCS12 |
|
jwt |
secret |
CLASSROOM_JWT_SECRET |
The key JSON Web Tokens issued by the digital classroom are signed with. |
expiration |
CLASSROOM_JWT_EXPIRATION |
Number of seconds after which JWTs should expire. Default: 900 (15 minutes) |
The only requirement is a JDK with version 11 or later.
The command
on Linux / MacOSX or ./gradlew build
on Windows will compile the Angular frontend and produce an executable .jar artifact in build/libs/. which can be started via .\gradlew.bat build
.java -jar digital-classroom-VERSION.jar
A Docker image of the application may be created via
in the root directory of this repository. The docker container may be run with docker-compose build
. Any environment variables specified in Property Values are propagated to the Docker container.docker-compose up