# alineExamination **Repository Path**: zhijie032/alineExamination ## Basic Information - **Project Name**: alineExamination - **Description**: 基于yii2的在线考试系统 - **Primary Language**: PHP - **License**: BSD-3-Clause - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 8 - **Forks**: 0 - **Created**: 2020-03-16 - **Last Updated**: 2024-05-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # examination在线考试系统 版本1.0 本系统是一个基于yii2和redis的web系统;后台语言是PHP,PHP版本为7.2; 周边环境还有:nigx、mysql、redis、线上linux 等 系统主要在kervi分支开发的,最新的版本在kervi分支下 ## 1.那么本系统可以解决什么样的问题呢? - 最基本的线上考试。 满足了线上考试或者练习的需求。 - 考试时间设置。 老师提前设置考试,到了日期时间之后学生即可进入考试界面进行考试。 - 掉线重连。 打题内容会保存在Redis中,进入考试界面之前会判断是否为掉线重启,如果是会加载之前保存的作答进度。 - 班级管理。 老师可查看班级学生的总体情况概览。学生可以查看往期考试概览和试卷作答情况 ## 2. 系统的特点 - 系统系统的多样化,独特的评分方式也是本系统设计上的特点。主观题,单选、多选、判断这些客观题在学生提交试卷后会自动打分。主观题如简答和填空。考试结束后会由考试进行评分,最后得出最终成绩。 - 只要是线上的应用,都会考虑到刷新数据重载和掉线问题,有些应用或许也没有关系,但是做为考试,遇到中途掉线,虽然可以重新上线,但答题记录或许已经不存在了,一方面时间也是过去不会再加。前面的已作答的内容需要再次填写,消耗了不必要的时间。但是本系统却可以很好的解决这问题; - 系统是基于yii2,代码方面严格遵循面向对象原则,同时yii2也是一款被美名曰高效率高性能的php框架。对于日常的操作:表单前端验证,后端验证,利用Gii的新建数据库和表单模型,自带的防csrf注入,xss注入以及yii这种接近原生的视图渲染等等,这些yii2框架的特效都让我在开发过程中感到高效和快乐,以及安全; - 关于加密解密的,用的是yii2的 generatePasswordHash和validatePassword;加密的密码是比较安全的,至少通过cmd5这种解密工具是解密不出来的,平常的md5多重加密,cmd5是可以解密出来的; - 考试的代码在 /controller/admin/examinationController.php; 本系统核心 - 在老师出卷之后,每种题型都会保存在数据库库的表中,一种题型一个表,方便后面接口调用或者其他等等需要 ## 3.系统的一些截图 登录页 ![3](http://exa.kervi.cn/images/gitpic/login.jpg) 主页面 ![index](http://exa.kervi.cn/images/gitpic/index.jpg) 考试界面 ![index](http://exa.kervi.cn/images/gitpic/examination.jpg) 设置考试页 ![index](http://exa.kervi.cn/images/gitpic/setexamination.jpg) # 4.项目地址和账号 代码地址 : https://gitee.com/zhijie032/alineExamination.git 线上测试地址 : http://exa.kervi.cn ``` 老师 账号 : 12345@qq.com 密码 : kervi ``` ``` 学生 账号 : 145@qq.com 密码 : kervi 或者根据网站引导自行注册 ```