基于nodejs+vue的在线考试系统附核心源码
本项目Nodejs+express+vue+Elementui+mysql系统,采用vscode软件开发,基于web的B/S架构设计完成,使用Vue-Router和Vuex实现动态路由和全局状态管理,Ajax实现前后端通信,ElementUI组件库使页面快速成型。也给自己的加不少分。本文模拟开发的在线考试系统,旨在探索一种互联网为基础的新的考试模式。通过这种新模式,提高了考试工作的效率,保证了时间
本文模拟开发的在线考试系统,旨在探索一种互联网为基础的新的考试模式。通过这种新模式,提高了考试工作的效率,保证了时间的质量,同时,同学进行在线考试便于及时地掌握所学知识,营造一种新的教学环境进而提高工作效率和教学水平。
该在线考试管理系统在实现后由两大模块构成,分别是供考生使用的前台考试系统和供教师使用的后台管理员系统。在系统的前台,用户首先通过注册个人信息来获取系统随机生成的三位准考证号及密码,然后通过准考证号和密码登录考试系统。用户可以修改系统提供的随机密码,可以在登录后进行在线考试。在进入考试前,用户需阅读考试相关的规则,表示同意后方可开始答选择考试科目和试卷套数进行答题。在考试过程中,可以提前交卷,也可以等系统自动计时到达规定时间后强制交卷。考试完成后,考生可以查看自己的成绩,以及查看试题的正确答案。
系统管理员在登陆后台管理系统后,可以查看、分析考生的成绩,可以对题库进行试卷类型、试题的添加、修改或删除操作。
越来越多的学生喜欢把前端Vue+nodejs技术组合当做自己的毕业设计项目.其实是非常新颖的毕设了。在众多毕设项目中也算是给老师眼前一亮。也给自己的加不少分。总比那些java图书管理、进销存系统等几十年不变的系统强上几百倍,至少在老师看来你还算是跟的上互联网潮流了。
本项目Nodejs+express+vue+Elementui+mysql系统,采用vscode软件开发,基于web的B/S架构设计完成,使用Vue-Router和Vuex实现动态路由和全局状态管理,Ajax实现前后端通信,Element UI组件库使页面快速成型。非常适合作为计算机专业的同学参考资料进行学习.主要编程语言为nodejs和mysql。Sequelize 是一个基于 promise 的 Node.js ORM, 目前支持 Postgres, MySQL, MariaDB, SQLite 以及 Microsoft SQL Server. 它具有强大的事务支持, 关联关系, 预读和延迟加载,读取复制等功能。充分保证了系统代码的良好可读性、实用性、易扩展性、通用性、便于后期维护、操作方便以及页面简洁等特点。
mport { Sequelize, DataTypes } from 'sequelize'
import moment from 'moment'
import sequelize from './sequelize'
// 考试记录表
const ExamrecordModel = sequelize.define('ExamrecordModel', {
id: {
type: DataTypes.BIGINT,
primaryKey: true,
autoIncrement: true,
allowNull: false,
comment: '主键'
},
userid: {
type: DataTypes.BIGINT,
defaultValue: 0,
allowNull: true,
comment: '用户id'
},
username: {
type: DataTypes.STRING,
defaultValue: '',
allowNull: true,
comment: '用户名'
},
paperid: {
type: DataTypes.BIGINT,
defaultValue: 0,
allowNull: true,
comment: '在线试题id(外键)'
},
papername: {
type: DataTypes.STRING,
defaultValue: '',
allowNull: true,
comment: '在线试题名称'
},
questionid: {
type: DataTypes.BIGINT,
defaultValue: 0,
allowNull: true,
comment: '试题id(外键)'
},
questionname: {
type: DataTypes.STRING,
defaultValue: '',
allowNull: true,
comment: '试题名称'
},
options: {
type: DataTypes.TEXT,
defaultValue: '',
allowNull: true,
comment: '选项,json字符串'
},
score: {
type: DataTypes.BIGINT,
defaultValue: 0,
allowNull: true,
comment: '分值'
},
answer: {
type: DataTypes.STRING,
defaultValue: '',
allowNull: true,
comment: '正确答案'
},
analysis: {
type: DataTypes.TEXT,
defaultValue: '',
allowNull: true,
comment: '答案解析'
},
myscore: {
type: DataTypes.BIGINT,
defaultValue: 0,
allowNull: true,
comment: '试题得分'
},
myanswer: {
type: DataTypes.STRING,
defaultValue: '',
allowNull: true,
comment: '考生答案'
},
addtime: {
type: DataTypes.DATE,
defaultValue: DataTypes.NOW,
allowNull: false,
get() {
return moment(this.getDataValue('addtime')).format('YYYY-MM-DD HH:mm:ss')
},
comment: '添加时间'
}
},{
timestamps: false,
freezeTableName: true,
tableName: 'examrecord'
})
export default ExamrecordModel
第一章 概述 1
1.1 研究背景 2
1.2开发意义 3
1.3 研究现状 4
1.4 研究内容 5
1.5论文结构 6
第二章 开发技术介绍 7
2.1 系统开发平台 8
2.2 平台开发相关技术 9
2.2.1 express框架 10
2.2.2 Node.js 语言 11
2.2.3 mysql数据库介绍 12
2.2.4 MySQL环境配置 13
2.2.5 B/S架构 14
第三章 系统分析 15
3.1 可行性分析 16
3.1.1 技术可行性 17
3.1.2 操作可行性 18
3.1.3经济可行性 19
3.2性能需求分析 20
第四章 系统设计 21
4.1功能结构 22
4.2 数据库设计 23
4.2.1 数据库E/R图 24
4.2.2 数据库表 25
第五章 系统功能实现 26
5.1管理员功能模块 27
5.2用户功能模块 28
第六章 系统测试 29
第七章 总结与心得体会 30
7.1总结 31
7.2心得体会 32
致 谢 33
参考文献 34
更多推荐
所有评论(0)