Flat: Open Source Classroom Client for Web, Windows, and macOS

Flat: Open Source Classroom Client for Web, Windows, and macOS

Summary

Flat is an open-source project by netless-io, providing Web, Windows, and macOS clients for the Agora Flat online classroom. It offers a comprehensive suite of features for real-time interactive learning environments, including video/audio chat, whiteboards, and classroom management. Built with TypeScript, Flat enables seamless virtual education experiences for modern e-learning.

Repository Info

Updated on December 25, 2025
View on GitHub

Introduction

Flat, developed by netless-io, is the open-source client for Agora Flat, designed for Web, Windows, and macOS platforms. This project provides a robust and feature-rich virtual classroom experience, enabling real-time interaction, comprehensive classroom management, and cloud recording capabilities. It's an excellent solution for anyone looking to deploy or contribute to an advanced e-learning platform, built primarily with TypeScript.

Installation

To get started with Flat, you'll first need to ensure pnpm is installed. If not, you can install it globally using npm:

npm i -g pnpm

Once pnpm is available, clone or fork the Flat repository and install its dependencies:

git clone https://github.com/netless-io/flat.git
cd flat
pnpm i

Examples

Flat offers both Electron (desktop) and Web clients. Here's how to build and run them:

Flat Electron Client

To build and run the Electron client, execute the following command from the project root:

pnpm start

You can also package your executable for distribution. Run pnpm ship to package based on your current system, or specify a system:

pnpm ship:mac
pnpm ship:win

Flat Web Client

To build and run the Web client, use this command from the project root:

pnpm start:web

Alternatively, you can navigate directly to the web client directory and start it:

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

For UI development and component exploration, Flat provides a Storybook. You can run it locally with pnpm storybook or visit the online Storybook for a live demo.

Why Use It

Flat stands out as a comprehensive virtual classroom solution due to its powerful features:

  • Real-time Interaction: Includes a multifunctional interactive whiteboard, real-time video/audio chat (RTC), and real-time messaging (RTM) for dynamic learning.
  • Flexible Login: Supports login via popular platforms like GitHub and WeChat.
  • Classroom Management: Easily create, join, and schedule classrooms, with support for periodic sessions.
  • Recording and Replaying: Offers whiteboard replaying, cloud recording for video and audio, and messaging replaying, ensuring no lesson is lost.
  • Cloud Storage: Provides integrated cloud storage for multimedia courseware.
  • Screen Sharing: Facilitates easy content sharing during lessons.

Links