用户需求(improved)
学生系统
- 登录注册界面
- 导航栏:课程,考试,竞赛,个人
- 首页:展示已选课程卡片,卡片展示课程名称,授课教师,开课时间,选课人数
- 课程页面:可查看课程信息,作业和练习题目列表,显示题目AC率
- 题目详情界面:题目名称,截止时间,空间时间限制,问题描述,输入输出描述及示例,并包含代码调试提交框,题目标签
- Status界面:可以看到所有人的提交信息,包括题目编号,学号,提交分数及时间
- 考试界面:包含最近考试课程信息及考试题目列表
- 竞赛界面:包含题目列表
- 用户资料界面:个人信息、修改密码、答题历史、个人积分
试题管理系统
- 可创建课程:课程名称,授课老师,开课时间,选课人数
- 查看课程介绍及提交统计信息
- 增加、编辑、删除题目
- 题目设置:名称,问题,起止时间,样例输入输出,testcase,时间、空间限制,语言限制,提示,分数,上传附件,题目类型,题目标签
- 可创建考试
- 可视化查看作业或考试的答题结果(提交时间,运行时间,提交次数,AC率)
- 可导出成绩
人员管理系统
- 可单个或批量添加用户
- 权限管理:学生,老师,助教及教务
- 可查看并管理老师信息及课程
- 可查看并管理学生信息及答题情况
数据库设计
环境搭建
项目结构
- JudgeServer: 负责判题
- JudgeBackend: 后端项目
- 依赖: JudgeServer, Posgress, Redis, Posgress
- JudgeFE: 前端项目
- 依赖: JudgeBackend
- Postgresql: 关系型数据库
- Redis: 缓存数据库
开发问题
前端
- 修改Proxy, 指向本项目, 否则会被导向到后端的静态页面
- 修改API的URL, 指向后端接口
后端
修改连接postgress配置 : 暂时使用10.11.53.56:5432
修改连接redis配置: 暂时使用10.11.53.56:6379
处理crsf-token问题: 待解决, 后果: 前端post方法无法正常调用
连接judge-server问题: 待解决 ,后果: 暂时无法判题
开发任务
- 后端:开发课程相关的API(作业和练习),个人积分属性,题目标签属性
- 前端:课程相关页面,管理员端UI优化