个人老师可直接使用的在线授课软件

发布时间 2023-12-20 09:50:08作者: Java陈序员

大家好,我是 Java陈序员

大学四年,疫情就占了三年!

以前小时候曾经梦想着不用去学校上课,在家就能上课,这不前几年疫情的时候就成为了现实!

随着互联网的兴起,各种线下的活动都可以搬到线上来执行,线上授课、线上会议等。

今天给大家介绍一个在线授课的开源项目,适用于老师授课或者视频会议

项目介绍

Flat 在线教室 —— 个人老师可直接使用的在线授课软件,开箱即用。

前后端完全开源,快速搭建简约美观的在线教室。

支持 Web 端、Windows 客户端与 macOS 客户端。

Flat 在线教室

功能特性:

  • 实时交互:支持多功能互动白板、实时音视频(RTC)通讯、即时消息(RTM)聊天
  • 登录方式:支持微信、GitHub、手机号验证码登录
  • 房间管理:支持加入、创建、预定房间,支持周期性房间
  • 课堂录制回放:支持白板信令回放、音视频云录制回放、群聊信令回放
  • 多媒体课件云盘
  • 屏幕共享

技术栈:

  • Electron
  • React
  • Vite
  • Node.js

Electron 是一个使用 JavaScript、HTML 和 CSS 构建跨平台的桌面应用程序。它基于 Node.js 和 Chromium,被 Atom 编辑器和许多其他应用程序使用。

Electron 兼容 Mac、Windows 和 Linux,可以构建出三个平台的应用程序。

功能体验

登录页面,可以使用手机号验证码、微信、Github账号登录。

登录页面

首页页面,展示房间列表和历史记录。可以加入一个创建好的房间,或者快速开始创建一个房间,也可以预定房间。

首页页面

加入房间,需要输入房间号,可以设置是否开启麦克风和摄像头。

加入房间

快速开始,创建一个房间,可以根据人数选择房间大小,有大班课(面向大量学生)、小班课(最多 16 位学生)、一对一。

快速开始

房间页面,房间的左中侧是白板,可以用来当作是上课的黑板;右侧是用户列表信息。

房间页面

白板工具,白板支持画笔、图形、橡皮擦、代码运行、几何代数、计时器、答题器、骰子、思维导图、富文本、板书、素材库等功能。

白板工具

代码运行,支持多种编程语言的在线运行。

代码运行

几何代数
几何代数

计时器

计时器

聊天列表,右侧聊天列表可以统计在线人数,查看学生举手,支持在线聊天。

聊天列表

按钮功能,房间右上角的按钮支持共享屏幕、录制视频、查看云盘文件、邀请加入、查看用户列表、房间设置等。

按钮功能

共享屏幕,支持共享 Chrome 标签页、窗口、整个屏幕的共享。

共享屏幕

查看云盘文件,支持查看文件、上传文件、新建文件夹。

查看云盘文件

邀请加入房间,支持生成链接和复制分享。

邀请加入房间

查看用户列表,支持全体下台、全员静音。

查看用户列表

房间设置,支持多语言、主题设置、白板设置、摄像头设置、扬声器设置、麦克风设置等。

房间设置

历史记录,记录已结束的课程,支持查看房间详情、查看回放、分享回放。

历史记录

云盘管理

云盘管理

应用设置

应用设置

安装使用

0、项目依赖:

  • Node.js
  • pnom

全局安装 pnpm:

npm i -g pnpm

1、克隆项目:

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

2、安装依赖,在项目根目录下执行:

pnpm i

3、构建并运行 Web 客户端,在仓库根目录运行以下任意一个命令:

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

4、构建并运行 Electron 客户端:

pnpm start

5、运行以下命令可以将项目打包成可执行文件:

项目根目录执行,将根据当前系统打包

pnpm ship

或者项目根目录执行,可针对指定的系统打包

pnpm ship:mac
pnpm ship:win

如果你因为网络问题导致无法下载 electron

  1. 可在项目目录新建: .npmrc 文件
  2. 写入 ELECTRON_MIRROR="https://npmmirror.com/mirrors/electron/" 内容
  3. 重新执行 pnpm i 即可

最后

推荐的开源项目已经收录到 GitHub 项目,欢迎 Star

https://github.com/chenyl8848/great-open-source-project

或者访问网站,进行在线浏览:

https://chencoding.top:8090/#/

大家的点赞、收藏和评论都是对作者的支持,如文章对你有帮助还请点赞转发支持下,谢谢!