The project OpenOLS is a new , light , fast OnLine Studtying system .
我们有dev.sunboy.site作为本地服务器的前端地址,api.sunboy.site作为api的地址(不支持WebSocket)。
This project is capable under MIT Lisence.
主页应该展示学生的基础个人信息,基础统计情况(?),同学的在线人数(没卵用),服务器信息(内存什么的的占用?),一句哲言?,特性介绍(滚动,这个很关键),搞个大的聊天室可以玩玩(严格限制发言频率)。
课程的列表,每个课程显示授课老师和在线人数,起止时间,课程的标题,课程的封面(默认或者老师上传)。老师如果在直播课中选择了全程录像,那么OpenOLS会记录你的离开时间(如果你有什么事物去办),并在直播回放中自动定位到该时间,但是如果你中途退出又进入,就会导致之前的回放定位被覆盖。
课程的列表,每个课程显示授课老师,课程的标题,课程的封面(默认或者老师上传),已看人数。
按格式分区,按时间排序,可以接受一个小于30字的附加说明。比如:
PDF
20200402英语课件.pdf
20200402化学课本.pdf
MP4
20200428物理实验视频.mp4
PPTX(PPT)
某一日的讲义.ppt
可以对服务器上的任何资源,包括 Fusion Share 和 Time Line 进行标记,使其进入收藏夹,随时进入收藏夹。如果对一个直播课进行标记,该课程回放生成之后,课程回放进入收藏夹。
第一次进行的标记会使标记资源进入缓冲区,如果不点击永久化就会在一定时间中删除。永久化可以进入各个子收藏夹,文件结构类似
收藏夹---缓冲区------语文
|
|---美文
|
|---音乐
|
|---点子
这个界面可以给自己添加一条时间线(以天,年,月之类的为周期,在某个时间加入一个时间点,创建一个备注,创建完后讲按照类似剪辑软件中的时间线的形式呈现(一个游标,一些标记,鼠标悬浮或者屏幕点击到标记上的时候,显示这个时间点的备注。),可以对已经到时间的节点打勾表示完成。(对于三种角色都有意义)
同时,老师、管理员也可以选择对哪个班级创建一个时间线。在学生侧可见创建者名字等等。
同时Time Line区分 aroll和broll,类似剪辑中的ab部分概念,根据优先级管理事件。
这个界面学生或者老师或者管理员可以PO一篇文章,一张图片,一段声音,或者一个链接,但是不可以是视频。并且可以在内容下添加一条不超过50个字的注解。可以分享学习资料,分享学习心得,分享自己的笔记,可以选择匿名。但是超级管理员可以看到你的姓名,并对不合适的内容进行删除。
Share的内容可以是站内的收藏夹,或者自己的 Time Line 和 Reminder。
一个点子会突然出现在你的脑海,但是如果你没抓住它,它也许就永远消失了。在一个灵感迸发的时候,打开OpenOLS,以一个便签的形式记录下来它。你可以不先起标题而只记录你的点子。在便签里,形式就不再受到严格的限制,这是个“浮动”标签,你可以记录一段文字,一段语音。但是OpenOLS不会提醒你关于其的任何信息,你可以自行查看而不受打扰。
OpenOLS秉持着开放的心态,不会逼着朋友们去学习,你可以给自己设置一个合理的Halt时间,在这个时间中,你不能访问OpenOLS除了直播课以外的其他内容,从而获得一个小憩。同时OpenOLS也在你点下返回或者退出或者重新登陆之时取消你的Halt状态。
我们的发展宗旨变了,我们想要编写一个通用平台,可以用于一切类似的应用,只需要在Core上进行拓展。
我们集中有限的精力优先实现直播和静态资源
我们计划开发一个简易的Object Storage System,用于分布式存取录像文件,录像文件会直接存储在Stream Server上,后续我们可能会将录像文件也转存到Object Storage上。有的人觉得我们造的轮子太多,开坑太大,不必推翻一切现有平台,但是我们的宗旨就是创造一个完全自主的,可以研究原理的一套工具集。
或许这个项目不能和NginX相提并论,但是我们尽力想要和NginX一样:不需要多么伟大的成就,但是开发人员研究我们程序原理能学到东西。。有的时候也会感慨:NginX的伟大之处在哪里,或许不是它的高性能,毕竟还有Caddy和IIS等其他的WebServer呢,应该是开发人员一窥它的运行原理,心里就有数应该怎么写自己的程序了。
直播架构在Documents/Live.drawio,鉴权等等全部在API实现,它只会回调。
本部分使用site.com作为站点url
进入门户https://site.com显示登录界面,有两个输入框,用户名,密码,自动跳转 学生 教师 管理员。
学生正常登录,被重定向到https://site.com/student_area能看见所属班级,班级人数,同学列表,直播课程,课件列表,直播回放,录播课程。
同学点击任何功能进入。
进入门户https://site.com显示登录界面,有两个输入框,用户名,密码,自动跳转 学生 教师 管理员。
老师正常登录,被重定向到https://site.com/teacher_area能看见所教班级,点选几个班级上传课件,点选几个班级开始直播,点选几个班级上传录播录像。
进入门户https://site.com显示登录界面,有两个输入框,用户名,密码,自动跳转 学生 教师 管理员。
老师正常登录,被重定向到https://site.com/administrator_area能看见各个年级,增添人员,删除人员,管理资源(全部),同时应该有批量删除,批量导入csv,批量导出csv的功能。
See Documents/DBStructure.md