基于SpringBoot+Vue在线考试系统【web端+小程序端】(附源码)

简介: 基于SpringBoot+Vue在线考试系统【web端+小程序端】(附源码)

项目介绍

在线考试系统是一款 java + vue 的前后端分离的考试系统。主要优点是开发、部署简单快捷、界面设计友好、代码结构清晰。目前支持web端和微信小程序,能覆盖到pc机和手机等设备。

开源版使用须知

学生系统功能

  • 登录、注册:注册时要选年级,过滤不同年级的试卷, 账号为student/123456
  • 首页:任务中心、固定试卷、时段试卷、可以能做的一部分试卷
  • 试卷中心:包含了所有能做的试卷,按学科来过滤和分页
  • 考试记录:所有的试卷考试记录在此处分页,可以查看试卷结果、用时、得分、自行批改等
  • 错题本:所有做错的题目,可以看到做题的结果、分数、难度、解析、正确答案等
  • 个人中心:个人日志记录
  • 消息:消息通知
  • 试卷答题和试卷查看:展示出题目的基本信息和需要填写的内容

管理系统功能

  • 登录:账号为 admin/123456
  • 主页:包含了试卷、题目、做卷数、做题数、用户活跃度的统计功能,活跃度和做题数是按月统计
  • 用户管理:对不同角色 学生、教师、管理员 的增删改查管理功能
  • 卷题管理:
  1. 试卷列表:试卷的增删改查,新增包含选择学科、试卷类型、试卷名称、考试时间,试卷内容包含添加大标题,然后添加题目到此试卷中,组成一套完整的试卷
  2. 题目列表:题目的增删改查,目前题型包含单选题、多选题、判断题、填空题、简单题,支持图片、公式等。
  • 教育管理:对不同年级的学科进行增删改查
  • 消息中心:可以对多个用户进行消息发送
  • 日志中心:用户的基本操作进行日志记录,了解用户使用过情况

小程序功能

  • 用户登录登出功能,登录会自动绑定微信账号,登出会解绑
  • 首页包含任务中心、固定试卷、时段试卷,和web端保持一致
  • 试卷模块,固定试卷和时段试卷的分页查询,下拉加载更多,上拉刷新当前数据
  • 记录模块,考试结果的分页,包含了试卷基本信息
  • 我的模块,包含个人资料的修改,个人动态,消息中心模块

技术栈列表

后台系统:

  • spring-boot 2.1.6.RELEASE
  • spring-boot-security 用户登录验证
  • undertow web容器
  • postgresql/mysql 优秀的开源数据库
  • redis 缓存,提升系统性能
  • mybatis 数据库中间件
  • hikari 速度最快的数据库连接池
  • 七牛云存储 目前10G内免费

前台系统:

  • Vue.js 采用新版,使用了vue-cli3搭建的系统,减少大量配置文件
  • element-ui 最流行的vue组件,采用的最新版
  • vue-element-admin 最新版,对该系统做了大量精简,只保留了部分样式和控件
  • echarts 图表统计
  • ueditor 填空题扩展插件

微信小程序:

  • iView 主题样式

使用教程

  1. redis 安装
  2. 进群获取到数据库脚本,创建表初始化数据
  3. /uexam/source/xzs为后台代码,建议使用IntelliJ IDEA打开,在application-dev.yml文件中,配置好postgesql/mysql、redis的服务地址,打开XzsApplication文件编译运行,默认端口为8000。
  4. 学生系统地址:http://localhost:8000/student
  5. 管理端地址:http://localhost:8000/admin

软件架构图

image.png

系统展示

  • 学生考试系统

image.png

小程序考试系统

image.png

后台管理系统

image.png


目录
相关文章
|
7月前
|
JavaScript 前端开发 Java
Spring Boot 与 Vue.js 前后端分离中的数据交互机制
本文深入探讨了Spring Boot与Vue.js在前后端分离架构下的数据交互机制。通过对比传统`model.addAttribute()`方法与RESTful API的设计,分析了两者在耦合性、灵活性及可扩展性方面的差异。Spring Boot以RESTful API提供数据服务,Vue.js借助Axios消费API并动态渲染页面,实现了职责分明的解耦架构。该模式显著提升了系统的灵活性和维护性,适用于复杂应用场景如论坛、商城系统等,为现代Web开发提供了重要参考。
627 0
|
JavaScript 前端开发
【前端web入门第一天】03 综合案例 个人简介与vue简介
该网页采用“从上到下,先整体再局部”的制作思路,逐步分析并编写代码实现个人简介页面。内容涵盖尤雨溪的背景、学习经历及主要成就,同时介绍其开发的Vue.js框架特点。代码结构清晰,注重细节处理,如使用快捷键提高效率,预留超链接位置等,确保最终效果符合预期。
254 7
|
JavaScript 小程序 开发者
uni-app开发实战:利用Vue混入(mixin)实现微信小程序全局分享功能,一键发送给朋友、分享到朋友圈、复制链接
uni-app开发实战:利用Vue混入(mixin)实现微信小程序全局分享功能,一键发送给朋友、分享到朋友圈、复制链接
1910 0
|
负载均衡 网络协议 应用服务中间件
web群集--rocky9.2源码部署nginx1.24的详细过程
Nginx 是一款由 Igor Sysoev 开发的开源高性能 HTTP 服务器和反向代理服务器,自 2004 年发布以来,以其高效、稳定和灵活的特点迅速成为许多网站和应用的首选。本文详细介绍了 Nginx 的核心概念、工作原理及常见使用场景,涵盖高并发处理、反向代理、负载均衡、低内存占用等特点,并提供了安装配置教程,适合开发者参考学习。
276 1
|
小程序
Taro@3.x+Vue@3.x+TS开发微信小程序,设置转发分享
本文介绍了Taro中`useShareAppMessage`的使用方法,需在页面配置`enableShareAppMessage: true`并重新编译。
672 0
Taro@3.x+Vue@3.x+TS开发微信小程序,设置转发分享
|
小程序 数据安全/隐私保护
Taro@3.x+Vue@3.x+TS开发微信小程序,网络请求封装
在 `src/http` 目录下创建 `request.ts` 文件,并配置 Taro 的网络请求方法 `Taro.request`,支持多种 HTTP 方法并处理数据加密。
515 0
Taro@3.x+Vue@3.x+TS开发微信小程序,网络请求封装
|
小程序
Taro@3.x+Vue@3.x+TS开发微信小程序,上传文件
本文介绍如何在Taro项目中使用Nut UI的`<nut-uploader/>`组件实现图片上传功能,并通过示例代码展示了自定义上传逻辑的方法。
500 0
Taro@3.x+Vue@3.x+TS开发微信小程序,上传文件
|
Java 应用服务中间件 Maven
传统maven项目和现在spring boot项目的区别
Spring Boot:传统 Web 项目与采用 Spring Boot 项目区别
674 0
传统maven项目和现在spring boot项目的区别
|
XML Java 数据库连接
创建springboot项目的基本流程——以宠物类别为例
创建springboot项目的基本流程——以宠物类别为例
225 0
创建springboot项目的基本流程——以宠物类别为例
|
存储 机器学习/深度学习 IDE
SpringBoot 项目与被开发快速迁移|学习笔记
快速学习 SpringBoot 项目与被开发快速迁移
SpringBoot 项目与被开发快速迁移|学习笔记

热门文章

最新文章

下一篇
开通oss服务