サーバレス練習帳

着眼大局着手小局

Building a Virtual Classroom Application

Next I'll build Virtual Classroom application.
aws.amazon.com

This post demonstrates how to build a virtual classroom application using the real-time communication capabilities of the Amazon Chime SDK. Whether you are looking for a starter or a scalable solution, you can use the classroom demo application included in the Amazon Chime GitHub repository as part of this blog to get started.

github:
https://github.com/aws-samples/amazon-chime-sdk-classroom-demo

A classroom session built using the Amazon Chime SDK can have up to 16 video feeds, 100 audio participants, and two content sharing sessions. Video resolution of up to 720p is rendered using hardware acceleration in each session and up to 250 concurrent classroom sessions can be supported when launched in a single AWS account. Classrooms can be hosted in one of 14 media regions around the globe nearest to the attendees for optimal latency and experience.

Using the demo application, teachers can create a classroom session with a unique subject name. After the class begins, teachers, and students have the ability to share their videos, chat, and mute themselves. Teachers can also share content using video-based sharing and mute all students with a special ‘focus mode’.

Once the class commences, the audio and video sessions flow using a Web-RTC compliant protocol through the Amazon Chime media servers. Messages interchanged in the classroom flow through a Web-Sockets application enabled in Amazon API Gateway that is deployed as part of the setup. As classrooms are created and students join and leave, you can receive events via AWS CloudWatch events if configured for tracking attendance.

Solution overview

The demo application includes scripts that can be executed in an AWS Cloud9 environment. It comes pre-packaged with tooling to build the classroom application and deploy other AWS resources including a chat application. Once deployed, a URL to download the Windows and Mac versions of the application is generated.

After the demo application is downloaded and installed on a machine, the teacher can log into the application and create a classroom. The demo application automatically places the meeting in an Amazon Chime supported media region closest to where the teacher is geographically located for optimal audio and video quality. The teacher can share the name of the classroom as necessary and students can download the demo application and enter the class name at the time of the class to join.

  • If no one logs in within 5 minutes of its classroom creation
  • If there is only only one participant for 30 minutes
  • If the class extends longer than 24 hours. If this happens, teachers can create a new classroom.

Prerequisites

  • > OK! SKIP!

Key steps outline

Here is an outline of the key steps involved in deploying and using the application.

  1. Create an AWS Cloud9 environment
  2. Deploy the classroom demo application
  3. Download and open the classroom demo application on the local machine
  4. Create a classroom (teacher)
  5. Join the classroom (students)
  6. Start instruction using audio, video, chat, and screen share (teacher)
  7. Close the classroom (teacher)
  8. Cleanup
Create an AWS Cloud9 environment
Deploy the classroom demo
~/environment $ git clone https://github.com/aws-samples/amazon-chime-sdk-classroom-demo
~/environment $ cd amazon-chime-sdk-classroom-demo
~/environment/amazon-chime-sdk-classroom-demo (master) $ 
script/deploy.js -r ap-northeast-1 -a VirtualClassroom -s vc20200502 -b vc20200502

The deploy script can take up to 15 mins ... OK ! Success !

I can download electron client !