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

大家好,我是 Java陈序员

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

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

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

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

项目介绍

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

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

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

功能特性:

  • 实时交互:支持多功能互动白板、实时音视频(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:

bash 复制代码
npm i -g pnpm

1、克隆项目:

bash 复制代码
git clone https://github.com/netless-io/flat.git

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

bash 复制代码
pnpm i

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

bash 复制代码
pnpm start:web
bash 复制代码
cd ./web/flat-web/ && pnpm start

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

bash 复制代码
pnpm start

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

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

bash 复制代码
pnpm ship

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

bash 复制代码
pnpm ship:mac
bash 复制代码
pnpm ship:win

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

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

最后

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

bash 复制代码
https://github.com/chenyl8848/great-open-source-project

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

bash 复制代码
https://chencoding.top:8090/#/

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

相关推荐
生椰拿铁You29 分钟前
09 —— Webpack搭建开发环境
前端·webpack·node.js
咖喱鱼蛋42 分钟前
Ubuntu安装Electron环境
linux·ubuntu·electron
sinat_3842410942 分钟前
在有网络连接的机器上打包 electron 及其依赖项,在没有网络连接的机器上安装这些离线包
javascript·arcgis·electron
GISer_Jing4 小时前
React核心功能详解(一)
前端·react.js·前端框架
FØund4046 小时前
antd form.setFieldsValue问题总结
前端·react.js·typescript·html
酷酷的威朗普6 小时前
医院绩效考核系统
javascript·css·vue.js·typescript·node.js·echarts·html5
疯狂的沙粒7 小时前
如何在 React 项目中应用 TypeScript?应该注意那些点?结合实际项目示例及代码进行讲解!
react.js·typescript
Lei_zhen967 小时前
记录一次electron-builder报错ENOENT: no such file or directory, rename xxxx的问题
前端·javascript·electron
辣条小哥哥7 小时前
electron主进程和渲染进程之间的通信
javascript·electron·ecmascript
咖喱鱼蛋7 小时前
Electron一些概念理解
前端·javascript·electron