個人老師可直接使用的線上授課軟體

来源:https://www.cnblogs.com/codechen8848/archive/2023/12/20/17915794.html
-Advertisement-
Play Games

Flat 線上教室 —— 個人老師可直接使用的線上授課軟體,開箱即用。前後端完全開源,快速搭建簡約美觀的線上教室。支持 Web 端、Windows 客戶端與 macOS 客戶端。 ...


大家好,我是 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/#/

大家的點贊、收藏和評論都是對作者的支持,如文章對你有幫助還請點贊轉發支持下,謝謝!


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 在之前三期的實時湖倉系列文章中,我們從業務側、產品側、應用側等幾個方向,為大家介紹了實時湖倉方方面面的內容,包括實時湖倉對於企業數字化佈局的重要性以及如何進行實時湖倉的落地實踐等。 本文將從純技術的角度,為大家解析實時湖倉的存儲原理以及生態選型,為企業建設實時湖倉給出技術方面的參考意見。 實時湖倉能 ...
  • 關於GreatSQL字元集的總結 前言 最近的SQL優化工作中經常遇到因字元集或校驗規則不一致導致索引使用不了的問題,修改表的字元集或校驗規則相當於把表重構,表中數據量大時,處理起來費時費力,希望應用開發者在設計之初時註意到此問題,讓後期接手運維的小伙伴少一些負擔。GreatSQL的字元集和校驗規則 ...
  • create database step2; go use step2; go ​ -- 學生表 create table StudentInfo ( stuId char(10) primary key, -- 主鍵 stuName varchar(20), -- 姓名 ClassId int, ...
  • 這裡給大家分享我在網上總結出來的一些知識,希望對大家有所幫助 1、背景 與後端對介面時,看到有一個get請求的介面,它的參數是放在body中的 ******get請求參數可以放在body中?? 隨即問了後端,後端大哥說在postman上是可以的,還給我看了截圖 可我傳參怎麼也調不通! 下麵就來探究到 ...
  • 項目代碼同步至碼雲 weiz-vue3-template 基於 axios 封裝請求,支持多功能變數名稱請求地址 安裝 npm i axios 封裝 utils 目錄下新建 request 文件夾,並新建 index.ts、request.ts 和 status.ts 文件。 1. status.ts 文件 ...
  • 由於vue的試圖渲染是非同步的,生命周期的created()鉤子函數進行的DOM操作一定要放在Vue.nextTick()的回調函數中,原因是在created()鉤子函數執行的時候DOM其實並未進行渲染,而此時進行DOM操作是徒勞的,所以一定要將DOM操作的js代碼放到Vue.nextTick()的回... ...
  • 隨著業務需求猛增、各種AB場景線上測試,交互複雜度提升,所以對門詳的整體交互體驗,小程式載入速度、列表的滾動性能以及業務數據層面都有更高的要求,因此作為前端研發團隊,我們也迎來了一些新的挑戰。 ...
  • 一、CSS 1.說一下CSS的盒模型。 在HTML頁面中的所有元素都可以看成是一個盒子 盒子的組成:內容content、內邊距padding、邊框border、外邊距margin 盒模型的類型: 標準盒模型 margin + border + padding + content IE盒模型 marg ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...