一个基于 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

默认登录用户名:adminteacherstudent,密码: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/#/

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


相关推荐
bin915344 分钟前
DeepSeek 助力 Vue 开发:打造丝滑的复制到剪贴板(Copy to Clipboard)
前端·javascript·vue.js·ecmascript·deepseek
月光水岸New1 小时前
Ubuntu 中建的mysql数据库使用Navicat for MySQL连接不上
数据库·mysql·ubuntu
我爱松子鱼1 小时前
mysql之规则优化器RBO
数据库·mysql
晴空万里藏片云2 小时前
elment Table多级表头固定列后,合计行错位显示问题解决
前端·javascript·vue.js
Tirzano2 小时前
springsecurity自定义认证
spring boot·spring
人间打气筒(Ada)3 小时前
MySQL主从架构
服务器·数据库·mysql
和道一文字yyds3 小时前
MySQL 中的索引数量是否越多越好?为什么?如何使用 MySQL 的 EXPLAIN 语句进行查询分析?MySQL 中如何进行 SQL 调优?
数据库·sql·mysql
bing_1585 小时前
简单工厂模式 (Simple Factory Pattern) 在Spring Boot 中的应用
spring boot·后端·简单工厂模式
天上掉下来个程小白6 小时前
案例-14.文件上传-简介
数据库·spring boot·后端·mybatis·状态模式
哆木6 小时前
排查生产sql查询缓慢
数据库·sql·mysql