# reactor **Repository Path**: trilogys/reactor ## Basic Information - **Project Name**: reactor - **Description**: 轻量级开源考试系统 - **Primary Language**: Python - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 9 - **Created**: 2023-07-05 - **Last Updated**: 2023-07-05 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README Reactor—轻量级开源考试系统 ======= ### 项目简介 ​reactor是一个轻量级的开源考试系统,前后端基本上由本人用一周的时间设计开发完成,因此可能会有一些设计不太合理的地方,但是目前考试相关功能已达到98%以上的完善度,推荐在此基础上二次开发更多符合自己业务需求的功能。 ​在此项目中,部分前端页面引用了学之思开源考试系统:https://gitee.com/mindskip/xzs-mysql 后端则采用了DRF编写API接口,数据库使用MySQL。 ### 管理员/教师端 | 功能 | 介绍 | | ---- | ---- | | 登录 | 用户名、密码,学生/教师/管理员均从一个登录接口登录,不同身份显示不同页面 | | 注册 | 年级、用户名、密码、仅提供学生注册,且注册成功需等待教师激活账号 | | 学生管理 | 查看与管理所有学生的基本信息 | | 班级管理 | 查看与管理所有班级信息 | | 学科管理 | 查看与管理所有学科信息 | | 试题管理 | 查看与管理题库中的所有试题 | | 试题创编 | 目前支持单选题、多选题、判断题、简答题的试题创编,自定义选项等等 | | 试卷管理 | 查看与管理所有试卷,每张试卷都可重复使用 | | 试卷创编 | 从题库中选择任意题型创编新的试卷 | | 定时考试 | 指定开始时间,考试时长分钟,考试班级,试卷,定时开始,定时结束 | | 不定时考试 | 考试下发后答题时间不做限制 | | 考生答题状态 | 实时查看每一位考生的提交状态,考试时长等 | | 自动批改 | 客观题部分(单选,多选,判断)自动批改,成绩算入系统评分 | | 手动批改 | 主观题部分需教师阅卷,最终得到总成绩 | | 成绩排行 | 后台首页会展示最近一次考试前五名的考生 | ### 学生端 ​学生端目前功能比较单一,仅实现了部分必要的功能 | 功能 | 介绍 | | ------------ | ------------------------------------------------------------ | | 查看考试任务 | 首页展示当前正在进行的考试任务,但是只有已开考的试卷才能点击查看 | | 考试答题 | 对于定时考试必须在规定时间完成,到时间会自动提交,超时则无法提交 | | 查看答卷 | 考试完成后只可以看到系统评分,并且只有等教师批改完成后才能点击查看答卷详情 | ### 技术栈 * python * django-restframework * Vue2 javascript * MySQL * Apschedule * docker ### 项目部署 ​项目已默认配置好部署文件,默认采用nginx+uwsgi的搭配,再利用docker-compose快速部署项目。当然根据需求也可采用其他部署方式,在这里只讲解docker-compose的部署步骤: ```python 1.克隆项目 2.安装并启动docker # 1.先安装部分依赖文件 sudo yum install -y yum-utils device-mapper-persistent-data lvm2 # 2.更换镜像源(下载更快) sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo # 3.下载docker sudo yum install docker-ce # 4.启动docker systemctl start docker 3.安装docker-compose curl -L https://get.daocloud.io/docker/compose/releases/download/v2.14.2/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose chmod +x /usr/local/bin/docker-compose 4.部署并启动项目 切换到克隆下来的项目文件夹中执行以下命令: docker-compose up ``` ### 功能展示 ![输入图片说明](images/login.png) ![输入图片说明](images/index.png) ![输入图片说明](images/task.png) ![输入图片说明](images/student.png) ![输入图片说明](images/answer.png) ![输入图片说明](images/multichoice.png) ![输入图片说明](images/papers.png) ![输入图片说明](images/exam.png)