MG在线课平台系统搭建

2020年初疫情期间,公司线下业务暂停,打算尝试线上教育,因为自己之前有开发经验,因此试着一个人搭建了一个在线课系统,学生可以注册登录进去,购买、收看课程,后台老师可以新建、编辑、管理课程和分类,以及学生账号的统计。

因为公司之前尝试出在线内容经验不多,课程内容都需要思考很多,再加上我一个人开发一个系统,精力不够,不能及时提供软件的各种需求,因此最终还是选用了第三方的一个服务(小鹅通),但是经过这次系统的建设,明显感觉比上次的MG_ppt_app要精致和完善许多了,相信这样不断训练自己,最终一定能做出一个真正实用,且能够普及到全公司,甚至是以后的所有分部的一个超有用的系统!加油!

2020上半年疫情期间,work from home,cozy work area 😊

 

页面截图:


注册/登录

课程列表

课程详情:

课程授课

管理员-课程列表

管理员-新建/编辑课程

管理员-排序课程

管理员-系列功能

管理员-用户列表

管理员-版本更新记录

 

 

 

开发记录:


已完成

  • 搭建首页页面 – 2020.02.04
  • 参考bootstrap官方example页面,优化了登录、注册页面 – 2020.02.04
  • 增加课堂页面 – 2020-02-06
  • 增加课堂页面幻灯片播放按钮,点击后开始进入下一页,并且显示翻页按钮 – 2020.02.08
  • 新增课程详情页面 2020.02.08
  • 课程列表页面增加多个系列的banner,并且可以实现点击banner后动画展开里面的课程 – 2020.02.08
  • 优化课程列表页面的课程卡片布局,增加时间,是否购买和评分信息 2020.02.10
  • 新建课程页面 admin_addCourse.php
    • 搭建前端框架 2020.02.10
    • 富文本编辑器的图片插入回显、文本提交的功能实现 2020.02.11
    • 增加推荐图书、学习单、课后习题的文本内容输入框,并在后台插入数据库 2020.02.12
    • 单元测试
  • 删除课程页面 admin_deleteCourse.php –  2020.02.11
    • 删除课程前端页面框架
    • 删除课程函数 function deleteCourse($cid){}
    • 单元测试
  • 新建、修改、删除系列页面 admin_Category.php – 2020.02.12
    • 新建、修改、删除系列前端页面
    • 实现新建系列功能  addCategory($data){}
    • 实现删除系列功能  delete Category($cat){}
    • 实现修改系列功能  updateCategory($cat,$data){}
  • 部署程序至阿里服务器  www.mgspace.net/mooc – 2020.02.12
    • 网站文件通过FTP上传至服务器
    • 导入数据库结构
    • 并进行各页面、各项功能的单元测试,,整理发现的bug或新的需求
  • 修改课程页面 admin_updateCourse.php – 2020.02.13
    • 修改课程函数 function updateCourse($cid,$data){}
    • 前端获取当前课程数据,并利用js将数据填充进对应输入框中
  • 更改幻灯片最后恭喜页面 – 制作png分层透明背景图片,加入animate动画,依次跳入 – 2020.02.13
  • 新建课程页面,程序自动生成四位的课程激活码,并且和数据库中的做比对,和其他课程不重复 – 2020.02.13
  • 将本地开发的最新版本更新到服务器。数据库备份zip包,并且进行结构更新
  • 阿里云视频点播后台复制的视频链接为临时链接,过一段时间就会失效 – 2020.02.12
    • 需要利用阿里提供的php sdk,每次访问页面自动生成新的视频链接给用户观看
  • 管理员针对不同系列下的课程进行排序 – 2020.02.15
  • 数据库行为异常 ,有时课程数据会神奇消失,然后又出现,其他平台没出现这种问题 – 2020.02.13
    • 数据库内容备份,保证可以恢复  – 2020.02.13
    • mg_course_detail -> mg_backup_course_detail 
    • mg_course_media_$cid -> mg_backup_media_$cid
    • 管理员删除课程功能,更改为下架课程,课程数据并不真正删除,而是不显示出来 – 2020.02.13
    • 每个新建行都增加 时间戳 && 用户 ID – 2020.02.13
    • 增加一个表格专门做sql历史记录 mg_db_history – 2020.02.13
    • 更改数据库编码为utf8mb4  – 2020.02.13
    • 更改数据库密码  – 2020.02.13
  • 上线前小更新 (准备 2月15日上线开放给家长)- 2020.02.15
    • logo更换为标准logo
    • 去掉课程详情页面的背景底图
    • 加入百度统计代码,方便后台实时查看统计用户访问等数据
    • footer文字字体变小,颜色变淡
    • logo换成标准logo
    • 注册时上传图片环节去掉  – 已更换为默认头像
    • 隐藏课程评分
    • 没视频的课程,隐藏播放按钮 
    • 原有的时间和年龄(有限制字段),改成 学习时长 和 建议年龄,取消限制,让编辑自己填内容。
    • 添加mgsace.net首页页面
  • 课程详情页面恢复淘宝购买按钮,内容写“购买”,tooltip内容写”课程及材料的购买”,激活后购买按钮依然在,若材料用完可继续购买 ,若课程没有材料盒,则隐藏该按钮- 2020.02.18
  • 增加草稿模式,后台新建【课程列表】页面,管理员可以将课程在”已发布、垃圾箱、草稿箱”三种状态中来回切换,这样可以在草稿模式下保存未编辑完的文档,用户不会看到 – 2020.02.20
  • 课程列表页面的系列banner自动匹配宽高,防止出现白边情况 – 2020.02.20
    • 若banner高度大于图片高度,则图片高度100%显示
    • 若banner宽度大于图片宽度,则图片宽度100%显示
  • 免费课程不需要激活码可直接观看(如果serialNum字段为空)- 2020.02.23
  • 首页课程card居中对齐 – 2020.02.23

进行中…

  • 新用户注册时需要先加我们的微信好友,获取到邀请码后才可以注册

新需求汇总 (需要优先做的请移动到 [进行中] 栏目)

  • 课程授课页面顶部ppt栏多视频嵌入功能
    • 增加导航条,显示不同视频的title,点击后跳转到该页
  • 若授课页面侧边栏内字段为空,则不显示父标题栏
  • 管理员对系列排序的功能
  • 上课页面视频音量过大,初始化时音量调节为50%
  • 网站header增加浏览器的favicon logo图表
  • 网站所有图片压缩文件大小,并且在用户端增加缓存机制,加快页面载入时间,提升用户体验
  • 课程列表页面,系列下的课程利用ajax动态加载,用户点击展开某个系列后再实时加载该课程内容(加载时可现实一个loading动画),从而加快响应速度
  • 课程正文内的网络视频插入的iframe宽高自动匹配,利用js设置
    • 宽度为正文内文100%宽度
    • 高度根据视频大小按比例调整
  • 利用cookie,实现用户点击”记住我”复选框后自动登录的功能
  • 用户注册时填写手机号进行注册,若该手机号不属于我们学员列表中的,那就暂时禁止注册
    • 需让小助手整理CSV表格:目前常规课学员的名字+手机号
    • 写一个脚本,一键导入数据库中
    • 注册时做比对,在里面的手机号才可以注册,否则提示“本平台正在内测阶段,只针对MG学员开放,加入我们
    • 针对前期这批没有用手机号注册的用户,在他们下次登录时页面弹出一个窗口提示:“来完善一下你的信息把!”,从而收集手机号等用户信息
  • 做用户在线检测,同一个账号同一时间只允许一个人登录
  • 用户登录的在线时长统计
  • 更换阿里云的视频源为bilibili视频链接,并优化class.php页面js代码,适应新播放器
  • 课程列表的系列banner上标注出该系列所属课程的数量
  • 课程列表页面,若已购买过的课程,下面新增一个按钮可直接进入课堂,而不是还需要进入详情页面
  • 后台数据可视化,每天用户注册、购买课程、登录时长、观看时长等信息用图表的方式呈现在管理员的后台页面,方便分析统计
  • 同一个系列下的课程,用标签的形式再次进行分类,点击不同标签可以筛选出同一系列下的不同类别的课程
    • 同时利用标签也可以进行跨系列的课程筛选,因此上完一节课,可以通过标签字段推荐同类型的课程
  • 用户可办理年费会员
    • 会员期限内的已有课程和新增课程都可以免费观看,材料盒也会定期邮寄给用户
    • 时间结束后之前的课程内容无法再观看,需要进行单购,或者再次充值年费会员
    • 年费会员期间用户不可以也无需单购课程
  • 后台页面分为三大块【课程列表】【系列列表】【用户列表】,在这三大块中会有对应类别的功能入

 

发表回复