Git Product home page Git Product logo

meet-dolbyio-classroom's Introduction

Dolby.io Classroom App

This application demonstrates an educational classroom application.

  • uses the Dolby.io Communications SDK for JavaScript
  • uses Firebase Real-time Database
  • bootstrapped with Create React App

You can learn more at https://docs.dolby.io/communications-apis/docs

Clone the Repository

Run the following to clone the repository:

git clone https://github.com/dolbyio-samples/meet-dolbyio-classroom.git
cd meet-dolbyio-classroom

Set Credentials

Dolby.io Setup

Dolby.io credentials are defined in src/utils/voxeetUtils.js.

Find your Consumer Key and Consumer Secret by following these steps:

  1. Select the SIGN IN link located in the upper right corner of the Dolby.io page. Log in using your email and password.
  2. Click the DASHBOARD link visible in the upper right corner of the website.
  3. Select your application from the APPLICATIONS category located on the left side menu.
  4. Select the API Keys category from the drop-down menu visible under your application.
  5. In the Communications APIs section, you can access your Consumer Key and Consumer Secret.

Enter your Dolby.io Credentials in /src/utils/voxeetUtils.js. That is, replace the placeholder text in:

const consumerKey = '<DOLBYIO_COMMUNICATIONS_API>';
const consumerSecret = '<DOLBYIO_COMMUNICATIONS_SECRET>';

with the credentials from your application, found here.

Firebase Setup

Firebase credentials are defined in src/providers/Firebase.js.

  1. Log into the Firebase Console and click "Create a Project.". Give the project a name such as "dolbyio-classroom-demo". Accept the terms and click "Continue".
  2. We recommend unselecting Google Analytics while in development, then click "Continue".
  3. Click the "</>" icon to add a Web App (image below). Give your app a name such as "classroom-demo" and click "Register app". You do not need Firebase Hosting at this point.

image

  1. Copy the details provided in firebaseConfig on this screen and paste them into the src/providers/Firebase.js file.
  • If you try running the app at this point, you'll get an error that looks like this: @firebase/database: FIREBASE WARNING: Firebase error. Please ensure that you spelled the name of your Firebase correctly. This is because we have not set up the Realtime database yet.

Firebase Real-Time Database Setup

  1. Continue to the Console and click "Build" and then "Realtime Database".

image

  1. Click "Create Database". Click "Next" and accept the default setting.

  2. Click "Start in test mode", then click "Enable."

image

Now the app should connect to Firebase.

Data Model

For the Classroom App, the data model in Firebase looks like this:

  • There are Firebase objects for each meeting room, the room id (cell) creates the key to the object in the Realtime Database
  • Inside each meeting room key object there are two properties of note:
    • classRoom (object) contains information about all of the student seats
      • Inside each seat is
        • isCalledOn (boolean)
        • isHandRaised (boolean)
        • name (string)
        • participantId (string | false)
    • teacherId (string | false) contains the participant ID of the teacher, if the room has no teacher, this value is false

Running the Application

After all credentials are set, you can run with:

npm install
npm run start

You should then be able to view the app locally on the development server.

meet-dolbyio-classroom's People

Contributors

netdiatom avatar j12y avatar dzeitman avatar

Watchers

 avatar

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.