[开源] 前后端全部开源的在线互动教室

2021-04-29 17:21:57 +08:00
 BlackHole1

我们是声网旗下的白板团队,几年来一直致力于为在线教育公司提供稳定且优质的白板服务,包括灵活可定制化的 API 、基于信令的白板云录制与回放、自研动态 PPT 以及简单易用的白板综合体验。

我们从 2020 年 8 月开始去做这个项目,集成了我们自己的 agora 音视频 sdk在线白板 sdk 。目前我们起名为: Flat

我们基于 MIT 协议,前后端代码完全开源,无任何限制。

目前的功能包括但不限于:

  1. 微信登陆
  2. 预订房间、预约周期性房间
  3. 在线云盘
  4. 小班课、大班课、一对一
  5. 视频、语音、聊天、在线白板(支持 pptx 、doc 、pdf 等静态资源渲染,包括 pptx 动画)
  6. 回放

目前仅支持: Windows / macOSAndroid / iOS 正在开发中(预计 6 月底就会上线), Pad 也会在考虑之中

除了全平台之外,一些功能也会在 Q2 一一实现:互动答题、全套快捷键、白板多窗口、支持常用插件(如 VS Code)、屏幕分享

我们的技术选型:

前端

  1. TypeScript
  2. React
  3. Mobx
  4. Storybook
  5. Electron
  6. yarn workspace

后端

  1. TypeScript
  2. Fastify
  3. TypeORM
  4. MySQL
  5. Redis

Flat 作为我们团队在开源领域第一次正式尝试,我们有十分严格的 code review ,我们做出了以下的努力:

  1. 每个 PR,必须由其他人进行仔细的 code review
  2. 为了保证代码风格,我们编写了相关的 eslint-plugin 进行约束
  3. 使用 husky / commitlint代码commit message 做校验

在开发过程中,我们也借鉴学习了很多开源社区的技术,并且我们给 helm-kubectlaxioselectron-devtools-installerzh.mobx.js.orgKubernetes Lens 等第三方库都贡献过代码。

我们在开发过程中也遇到了很多难点并最终攻克,包括 electron 多窗口 / electron preload 加载 / 打包签名 / 公证 / 课程录制 /回放 / 麦克风 /摄像头授权 / webpack 优化 / Kubernetes 部署 等。

如果大家在开发其他应用时,遇到了相关的问题,那么 Flat 将会是一个很好的借鉴。

效果图:

gif 可移步查看: https://i.imgur.com/fScd7eF.gif


5778 次点击
所在节点    分享创造
42 条回复
joshua7v
2021-05-14 19:48:42 +08:00
下载-登录-创建房间-"参数错误"-关闭-卸载
是我使用姿势不对吗:doge:
Onepeng
2023-01-28 18:16:13 +08:00
mDesk mTab 作为在线互动教室白板应用的名称如何?(其中“m”可理解为 member 、mobile 、merge 、multi-media 等含义)
mDesk. cn mTab. cn 在售~

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/774158

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX