在线考试系统是一个开源的在线考试系统,按照不同功能,可划分为题目管理、答题系统、权限分配、评卷系统等模块。
支持学生(student)、教师(teacher)、管理员(admin)三种角色。
学生:参加考试和查看我的考试
教师:学生的所有权限+创建/编辑题目+创建/编辑考试
管理员:教师的所有权限+管理用户
基于 Django+Vue3.2+TypeScript 的在线考试系统,在线体验:http://small_bud_star.gitee.io/django-vue3.2-online-exam
,欢迎大家提issue
功能简介
支持单选题、多选题、判断题
支持学生(student)、教师(teacher)、管理员(admin)三种角色
学生:参加考试和查看我的考试
教师:学生的所有权限+创建/编辑题目+创建/编辑考试
管理员:教师的所有权限+管理用户
软件架构
前后端分离,前段组件化,方便二次开发;后端
后端采用DjangoRestFrameWork+CoreApi+JWT校验,根据不同用户的权限返回给用户不同的数据
前端采用Vue3.2+Element-Plus+TypeScript,组件化拆分,方便维护和二次开发
使用教程
1.下载代码
git clone git@github.com:xingxingzaixian/django-vue3.2-online-exam.git
2.初始化环境
安装MySQL数据库,创建名为exam的数据库,并在Django的settings.py文件中配置好数据库信息。
3.初始化Python环境 必须先使用pip命令安装pipenv虚拟环境管理包,在Pipfile文件里面我配置的是3.8.11,如果你自己的Python版本不一样,修改一下文件里面的配置,然后执行下面的步骤。
# 进入后端目录
cd backend
# 安装项目依赖库
pipenv install
# 生成数据库迁移文件
pipenv run makemigrations
# 执行数据库迁移,这一步会生成所有的表
pipenv run migrate
4.启动后端
执行完上面的安装命令后,再执行 pipenv run dev,就启动了后端,在浏览器端访问 http://localhost:9527/docs
即可看到后端的 API 界面
API 文档
5.启动前端
进入到前端代码路径 cd frontend
安装依赖 yarn install
启动前端 yarn run dev
6.部署完毕,查看效果
打开 http://localhost:8000
或者 http://本机ip:8000
即可查看演示效果