Skip to content

DDDDanny/ExamOnline-Front

Repository files navigation

在线考试系统(前端)

这个项目已经拖延了好几年了,2024年要重新开始动工,有需要这个项目做参考的同学,可以加我微信:MintBlueD,留言:GitHub + 你的问题

👉:如果你有想做的需求,可以提issue,我会尽量安排~

👉:不会没关系,我可以给你方向,但我不会教你。没有脑子的就别加了!

后端项目:https://github.com/DDDDanny/ExamOnline-Server


功能点

功能模块有4大模块:用户管理模块试题管理模块试卷管理模块考试管理模块

系统角色有3类:系统管理员、学生用户和教师用户

功能模块

  • 登录页面

    • 页面开发
    • 记住密码
    • Request Header 增加 Token
    • 后端联调
  • 主体容器

    • 菜单栏开发
    • 顶部开发
      • 修改密码
      • 退出登录
      • 消息通知
    • 主体开发
  • 试题管理页面

    • 个人题库
      • CURD
    • 公共题库
      • 收藏试题逻辑
    • 错题库
      • 错题库列表(查询)
      • 取消收藏(删除)错题
      • 收藏错题
  • 试卷管理页面

    • 个人试卷库

      • 组卷逻辑 - 模块新增与变更
      • 组卷逻辑 - 关联试卷
    • 公共试卷库

    • 预览试卷

  • 考试管理页面

    • CURD考试信息

    • 基础接口及逻辑

    • 操作显示逻辑

      未发布:编辑、删除、发布、关联学生

      已发布:

      1. 未开始:取消发布、关联学生
      2. 进行中:--
      3. 已完成:查看成绩
    • 发布考试

      • 基础接口及逻辑
      • 增加判断
        • 距离考试开始时间小于30分钟,无法发布考试
        • 没有关联考生无法发布
        • 前端校验
        • 后端兜底校验
    • 取消发布考试

    • 正在进行和已经完成的无法取消(前端判断)

      • 增加判断:距离考试开始时间小于2小时,无法取消
      • 前端校验
        • 后端兜底校验
    • 关联考生

      • 关联考生基本逻辑处理

      • 批量关联考生(关联时校验是否冲突)

  • 在线考试页面

  • 用户管理页面

    • 学生管理页面
      • CURD学生信息
      • 学生激活
    • 教师管理页面
  • 考试结果管理页面

    • 基础页面结构
    • 考试结果详情页面
    • 学生考试结果详情页面

扩展(功能)需求

  • 项目启动教程
  • 批量上传试题
  • 批量上传学生
  • 发送消息通知
    • 系统内消息推送
    • 三方消息推送(Email?钉钉?企微?)

技术栈

Node16、Vue3,Lucide Icons、ElementUI PLUS

特别说明(持续更新)

  1. 所有表格都会有分页,默认pageSize是50,前端没有开放修改入口,但后端已预留;
  2. 筛选项只会提供基础项,如有需要可自己定制开放;
  3. 目前试题只有选择题和判断题,如有需要可自己扩展;
  4. 题库(个人、公共和错题)默认都是以创建时间降序排序;
  5. 试卷发布时会校验是否关联试题,若没有,则不允许发布;
  6. 试卷最多关联4个模块,新增模块后,会自动排序到最后一个;
  7. 目前安排考试无法跨天安排,时间选择的步长是10min;
  8. 没有关联学生的考试,无法发布;
  9. 已经发布的考试,无法进行删除操作;
  10. 已经开始的考试,无法进行编辑、取消发布、关联考生、删除等操作;
  11. 新增学生用户时,若没有填写登录账号,默认为学生学号;
  12. 学号、登录账号全局唯一;
  13. 考试结果详情页面默认排序是根据学生考试成绩降序排列

后期优化点

  1. 新增&编辑试题时,选项调整为可动态伸缩