Quickly Set Up and Explore the Agora Flat Open‑Source Classroom

This guide introduces the Agora Flat open‑source interactive classroom, outlines its key features and classroom modes, and provides step‑by‑step instructions for installing, building, and running both the Electron and Web clients, including packaging and Storybook usage.

Java Architect Essentials
Java Architect Essentials
Java Architect Essentials
Quickly Set Up and Explore the Agora Flat Open‑Source Classroom

Agora Flat is an open‑source interactive classroom platform that enables rapid creation of simple yet powerful online classrooms for large lectures, small groups, and one‑on‑one sessions, improving teaching efficiency through real‑time audio/video, whiteboard, and chat capabilities.

Key Features

Real‑time Interaction: Multi‑function whiteboard, RTC audio/video, RTM messaging.

Login Options: WeChat and GitHub.

Room Management: Create, join, reserve rooms, with support for periodic rooms.

Classroom Recording: Whiteboard signal replay, cloud audio/video recording, chat signal replay.

Media Cloud Disk

Screen Sharing

Classroom Modes

Large‑class Lecture

Designed for big classes, allowing students to raise hands and interact online.

Small‑class Session

Supports 1 teacher and 2‑16 students, offering timely interaction and higher engagement.

One‑on‑One

Ideal for a single teacher and a single student, providing an immersive personalized learning experience.

Custom Themes and UI

The platform supports custom themes and UI adjustments to match different branding needs.

Scene Plugins

Unlimited combinations of scene plugins enable flexible classroom scenarios.

Installation and Quick Start

You can run the Flat client without a backend. The repository contains two main projects:

Flat Electron client – https://github.com/netless-io/flat/tree/main/desktop Flat Web client –

https://github.com/netless-io/flat/tree/main/web

Prerequisite

If pnpm is not installed, run:

npm i -g pnpm

Clone and Install

Clone or fork the repository, then at the root directory execute:

pnpm i

Run the Electron Client

Start the client with: pnpm start To package the application:

Run pnpm ship to build for the current OS.

Or run pnpm ship:mac / pnpm ship:win for specific platforms.

If network issues prevent downloading Electron, create a .npmrc file in the project root with ELECTRON_MIRROR="https://npmmirror.com/mirrors/electron/" and rerun pnpm i .

Run the Web Client

Execute one of the following commands at the repository root:

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

The UI logic is separated from business logic; you can launch Storybook for UI development with:

pnpm storybook

Related Projects

Flat Android client – https://github.com/netless-io/flat-android Flat server – https://github.com/netless-io/flat-server Flat homepage – https://flat.whiteboard.agora.io/#download All source code is available at the open‑source address: https://github.com/netless-io/flat.

Original Source

Signed-in readers can open the original source through BestHub's protected redirect.

Sign in to view source
Republication Notice

This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactadmin@besthub.devand we will review it promptly.

WebElectronOpenSourceInstallationAgoraFlatInteractiveClassroom
Java Architect Essentials
Written by

Java Architect Essentials

Committed to sharing quality articles and tutorials to help Java programmers progress from junior to mid-level to senior architect. We curate high-quality learning resources, interview questions, videos, and projects from across the internet to help you systematically improve your Java architecture skills. Follow and reply '1024' to get Java programming resources. Learn together, grow together.

0 followers
Reader feedback

How this landed with the community

Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.