Skip to content
e-education solutions(Agora Reference Design)
TypeScript Java Objective-C CSS JavaScript HTML Other
Branch: master
Clone or download
plutoless Merge pull request #34 from AgoraIO-Usecase/dev/native
合并小班课 iOS和安卓代码
Latest commit f56c988 Aug 19, 2019

Build Status MIT License


Agora e-Education

Complete e-Education solutions for both web and native platform.
Explore the docs »

View Demo · Report Bug · Request Feature

Table of Contents


Have a try with our built demo!

About The Project

Product Name Screen Shot

e-Education Sample App built with Agora Electron SDK.

  • Device Test before class
  • Basic video&audio realtime communication
  • Basic class control like mute/unmute video/audio/chat
  • Whiteboard for realtime visual collaboration
  • Screen Sharing
  • Text chat rooms
  • Recording

Built With

Getting Started


To build and run the sample application, get an App ID:

  1. Create a developer account at Once you finish the signup process, you will be redirected to the Dashboard.
  2. Navigate in the Dashboard tree on the left to Projects > Project List.
  3. Save the App ID from the Dashboard for later use.
  4. Generate a temp Access Token (valid for 24 hours) from dashboard page with given channel name, save for later use.


  1. Enter your APP ID and other env config in .env under each folder
  2. Run npm install to install dependencies and npm run start (usually) to start an application. (You can traverse Readmes under each folder for detail.)

Project Structure

  • education_web
    Web client based on a list of Agora RTM/Media SDK (JS) and React.
  • education_electron
    Mac and Windows Client based on Agora RTM SDK (JS) and Media SDK (NodeJs based on c++ addon), React and Electron.
  • education_server
    Sentry server based on Agora RTM SDK (NodeJS based on c++ addon) to accept and solve command message and do in-memory-cache.
  • whiteboard_server (Will be merged into education_server)
    RESTFul gateway for Herewhite whiteboard service.
  • recording_server (Go to this repo for detail.)


Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature)
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request


Distributed under the MIT License. See LICENSE for more information.

You can’t perform that action at this time.