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

This repository profile is provided by osrepos.com, an open source repository discovery platform.

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 Information

Analyzed by OSRepos on December 25, 2025

Use at your own risk

OSRepos shares public repositories for knowledge and discovery only. Any installation, execution, configuration, or use of code from these repositories is the user's own responsibility. Always review the repository, source code, dependencies, licenses, and security implications before running or installing anything. OSRepos is not responsible for issues, damages, or losses resulting from third-party repositories.

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

Source repository

Open the original repository on GitHub.

7 counted GitHub visits

View on GitHub
OS
OSRepos

Analysis and discovery of open source repositories. Find interesting projects and follow their updates.

Monitor your website with YourWebsiteScore

OSRepos shares public repositories for knowledge and discovery only. Any installation, execution, configuration, or use of third-party repository code is at your own risk. Always review source code, dependencies, licenses, and security implications before running anything.

© 2025 OSRepos. Built with Nuxt 3 and lots of ❤️