Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?


Failed to load latest commit information.
Latest commit message
Commit time

Agora Flat

Project flat is the Web, Windows and macOS client of Agora Flat open source classroom.



  • Real-time interaction
    • Multifunctional interactive whiteboard
    • Real-time video/audio chat (RTC)
    • Real-time messaging (RTM)
  • Login via
    • GitHub
    • WeChat
  • Classroom management
    • Join, create and schedule classrooms
    • Support periodic rooms
  • Classroom recording and replaying
    • Whiteboard replaying
    • Cloud recording for video and audio
    • Messaging replaying
  • Cloud Storage for multi-media courseware
  • Screen sharing


You can build and run the Flat client without a server. This repository includes the following projects:


If you don't have pnpm installed:

npm i -g pnpm

Clone or fork this project, at project root run:

pnpm i

Build and run Flat Electron client

Run the following commands at the root of the repository to build and run Flat Electron client.

pnpm start

You can use one of the following methods to package your executable:

  • Run pnpm ship at project root to package based on current system.
  • Alternatively, run pnpm ship:mac or pnpm ship:win at project root to package for a specified system.

Build and run Flat Web client

Run the following command at the root of the repository to build and run Flat web client.

pnpm start:web

Alternatively, run the following command:

cd ./web/flat-web/ && pnpm start

UI and business logic are separated in Flat. You can view and develop Flat components UI via Storybook. You can either visit the (Online address) or run pnpm storybook at the root of the repository to run Storybook locally.



Writing code is great, but there are many other ways to make meaningful contributions to the project:

For more info about how to contribute, see

Code Contributors

Thank you to all the people who already contributed to Flat!


You may use Flat for commercial purposes but please note that we do not accept customizational commercial requirements and deployment supports. Nor do we offer customer supports for commercial usage. Please head to Flexible Classroom for such requirements.


Copyright © Agora Corporation. All rights reserved.

Licensed under the MIT license.

When using the Flat or other GitHub logos, be sure to follow the GitHub logo guidelines.