熟练掌握Python编程语言,NumPy、Pandas、Matplotlib等数据可视化类库。熟悉MySQL,具备相关使用经验。熟练使用SQL语句,能够编写复杂查询和优化SQL语句。熟悉Django框架。熟悉掌握常用爬虫框架。熟悉爬虫原理,熟悉Scrapy等主流爬虫框架框架,能够解決验证码、网页限制爬取等等问题,且有实际经验。熟练使用 python request、xpath熟悉了解htmlCss、javascript, 懂得分析常见web界面结构。
Reactor—轻量级开源考试系统
项目简介
reactor是一个轻量级的开源考试系统,前后端基本上由本人用一周的时间设计开发完成,因此可能会有一些设计不太合理的地方,但是目前考试相关功能已达到98%以上的完善度,推荐在此基础上二次开发更多符合自己业务需求的功能。
在此项目中,部分前端页面引用了学之思开源考试系统:
后端则采用了DRF编写API接口,数据库使用MySQL。
### 管理员/教师端
| 功能 | 介绍 |
| ---- | ---- |
| 登录 | 用户名、密码,学生/教师/管理员均从一个登录接口登录,不同身份显示不同页面 |
| 注册 | 年级、用户名、密码、仅提供学生注册,且注册成功需等待教师激活账号 |
| 学生管理 | 查看与管理所有学生的基本信息 |
| 班级管理 | 查看与管理所有班级信息 |
| 学科管理 | 查看与管理所有学科信息 |
| 试题管理 | 查看与管理题库中的所有试题 |
| 试题创编 | 目前支持单选题、多选题、判断题、简答题的试题创编,自定义选项等等 |
| 试卷管理 | 查看与管理所有试卷,每张试卷都可重复使用 |
| 试卷创编 | 从题库中选择任意题型创编新的试卷 |
| 定时考试 | 指定开始时间,考试时长分钟,考试班级,试卷,定时开始,定时结束 |
| 不定时考试 | 考试下发后答题时间不做限制 |
| 考生答题状态 | 实时查看每一位考生的提交状态,考试时长等 |
| 自动批改 | 客观题部分(单选,多选,判断)自动批改,成绩算入系统评分 |
| 手动批改 | 主观题部分需教师阅卷,最终得到总成绩 |
| 成绩排行 | 后台首页会展示最近一次考试前五名的考生 |
### 学生端
学生端目前功能比较单一,仅实现了部分必要的功能
| 功能 | 介绍 |
| ------------ | ------------------------------------------------------------ |
| 查看考试任务 | 首页展示当前正在进行的考试任务,但是只有已开考的试卷才能点击查看 |
| 考试答题 | 对于定时考试必须在规定时间完成,到时间会自动提交,超时则无法提交 |
| 查看答卷 | 考试完成后只可以看到系统评分,并且只有等教师批改完成后才能点击查看答卷详情 |
### 技术栈
* python
* django-restframework
* Vue2 javascript
* MySQL
* Apschedule
* docker
### 项目部署
项目已默认配置好部署文件,默认采用nginx+uwsgi的搭配,再利用docker-compose快速部署项目