一个基于 SpringBoot + Vue 的在线考试系统

大家好,我是 Java陈序员。

今天,给大家介绍一个前后端分离的在线考试系统。

关注微信公众号:【Java陈序员】,获取开源项目分享、AI副业分享、超200本经典计算机电子书籍等。

项目介绍

spring-boot-online-exam ------ 一个基于 Spring Boot + Vue 实现的在线考试系统,支持学生、教师、管理员三种角色。

功能特色:

  • 支持单选题、多选题、判断题
  • 支持学生、教师、管理员三种角色
    • 学生:参加考试和查看我的考试
    • 教师:学生的所有权限 + 创建/编辑题目 + 创建/编辑考试
    • 管理员:教师的所有权限 + 管理用户

技术栈:

  • 前后端分离,前段组件化,方便二次开发
  • 前端:Vue + AntDesign
  • 后端:SpringBoot + JPA + Swagger2 + JWT

功能图示

考试卡片

问题管理

考试管理

我的考试

快速上手

1、下载代码

bash 复制代码
git clone https://github.com/19920625lsg/spring-boot-online-exam.git

2、初始化数据库

  • 创建数据库
sql 复制代码
CREATE DATABASE `exam` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
  • 执行脚本 spring-boot-online-exam/doc/sql/exam.sql,初始化数据

3、启动后端

  • 将项目以 Maven 项目的形式导入到 IDEA
  • 修改配置文件 spring-boot-online-exam/backend/src/main/resources/application.yml 中的数据库连接信息
yaml 复制代码
spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    username: root
    password: aA111111
    url: jdbc:mysql://localhost:3306/exam?characterEncoding=utf-8&useSSL=false&serverTimezone=Asia/Shanghai
  • 执行主启动类 lsgwr.exam.ExamApplication,启动后端服务

  • 浏览器访问 Swagger 文档地址 http://localhost:9527/swagger-ui.html 说明启动成功

4、启动前端

  • 进入前端代码
bash 复制代码
cd spring-boot-online-exam/frontend/exam/
  • 安装依赖
bash 复制代码
npm install
  • 启动前端
bash 复制代码
npm run serve

5、浏览器访问 http://localhost:8000

默认登录用户名:admin、teacher、student,密码:admin123

arduino 复制代码
项目地址:https://github.com/lsgwr/spring-boot-online-exam

最后

推荐的开源项目已经收录到 GitHub 项目,欢迎 Star:

bash 复制代码
https://github.com/chenyl8848/great-open-source-project

或者访问网站,进行在线浏览:

bash 复制代码
https://chencoding.top:8090/#/

大家的点赞、收藏和评论都是对作者的支持,如文章对你有帮助还请点赞转发支持下,谢谢!


相关推荐
2301_32241428045 小时前
基于SpringBoot+Vue的休闲零食超市管理系统的设计与实现59004-计算机毕设 原创(免费领源码+部署教程+开发环境)
java·vue.js·spring boot·redis·mysql·决策树·推荐算法
库库的数据库笔记8 小时前
国产信创数据库的MySQL兼容性深度对比解析
大数据·数据库·mysql·oceanbase·政务
system_error_x8 小时前
SpringBoot 集成 Thymeleaf 简洁入门
java·spring boot·后端
酷炫码神11 小时前
Day 8|Vue3 响应式:告别手动操作 DOM,让数据驱动界面
javascript·vue.js·ecmascript
吹什么轩12 小时前
MySQL:数据库基础
数据库·mysql
FluxDB12 小时前
用 Rust + GPUI 重做数据库客户端
数据库·mysql
Yyyyyy~12 小时前
【Mysql】增删查改操作
数据库·mysql
BBmmo13 小时前
MySQL 里大小写不同的邮箱,为什么会撞上唯一索引?
mysql
星光不问赶路人13 小时前
Vue 3 对象监听与快照:ref 和 reactive 的关键差异
前端·vue.js
十年Java程序媛13 小时前
Java this 与 super 详解|继承高频踩坑 + 面试题整理
java·spring boot·面试