# ExaminationPlatform **Repository Path**: xiaobingdu/ExaminationPlatform ## Basic Information - **Project Name**: ExaminationPlatform - **Description**: https://gitee.com/xiaobingdu/ExaminationPlatform - **Primary Language**: JavaScript - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-03-07 - **Last Updated**: 2024-03-07 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 在线考试平台 ## 资料 - ![git](/文档/git.png) - [Git工作流和核心原理](https://www.bilibili.com/video/BV1r3411F7kn/?share_source=copy_web&vd_source=f9ef0c8f1e8116b01a72d2f42cd11b9c) - [数据库建表语句](/文档/exam.sql) - [laiui文档2.7](https://layui.dev/2.7/docs/) ## 功能 1.上传题目 2.生成试卷 3.考试面板 4.改卷 5.试卷答案解析 6.扩展功能 ## 数据库表 - 括号里内容为属性 - 属性字段命名规则:"表名"+"_"+"字段名" - 用户表 - (用户ID,用户名,密码,头像,权限等级) - 表名:user - 字段名:u_id, u_name, u_password, u_image,u_level - ~~密码加密,传输过程中使用加密算法,前端要发送前加密一次,后端接收后解密~~ - 试卷表 - (试卷id,题目id集合,分数,考试时长) - 答案集合这个属性类 型用JSON存储 - 表名:paper - 字段名:p_id,p_questions,p_score,p_time - 题目表 - (编号,类型,题面文字,题面图片,答案,解析,标签,题目提供者的id,选择题选项内容) - 表名:question - 字段名:q_id, q_type, q_text, q_image, q_answer, q_explanation, q_tags, u_id,q_options - 外键:u_id - tags标签属性可以放科目,知识点等字符串,用,隔开,例如“数学,三角函数” - q_options为json类型 - [mysql的json类型使用](https://www.cnblogs.com/liuyiyuan/p/16388360.html#%E7%B4%A2%E5%BC%95%E4%BD%BF%E7%94%A8) - 答题卡 - (答题卡ID,用户ID,试卷ID,答案集合,开始时间,提交时间) - 表名:answer_sheet - 字段名:a_id,u_id,p_id,u_answer,start_time, submit_time - 外键:u_id,p_id - u_answer答案集合这个属性类型用JSON存储 - 成绩表 - (成绩单id,用户id,试卷id,分数) - 表名:transcript - 字段名:t_id,u_id,p_id,grade - 外键:u_id,p_id ### 用户模块 #### (写个登录注册就行,权限组当扩展功能) - 管理员限制部分权限后成用户 - 管理员拥有的权限:(修改所有用户密码,发起考试,增删改查题目,增删改查试卷) - 用户拥有的权限:(修改自己密码,发起考试,增删改查自己上传的题目,增删改查自己发起的试卷) - 服务对象: - 学生 - 教师 - 管理员 ### 上传题目 - 上传方式: 1. 文本(根据格式智能处理) 2. 图片(OCR识图)? 3. excel表格导入? ### 生成试卷 - 随机选项 - 随机题目顺序 - 导入导出试卷模板 ### 答题面板 - 前端显示 ### 改卷 - 提供大题人工给分功能 - 选择填空 - 模糊匹配(简答题,相似度) - 填空判断答案时忽略空白字符 - 提供人工检查功能 - 成绩申诉功能 ### 试卷答案解析 - 直接查询,然后显示 ### 扩展功能 - 论坛功能(待定)题目答案讨论 - 实时聊天(用于考试临时通知) - 排行榜功能(不需要数据库) - 账号不同权限