项目简介
本项目是一个基于Spring Boot和Spring Cloud框架的在线考试系统,采用前后端分离技术,前端使用Vue 2.0,后端基于Spring Boot、Spring Cloud和MySQL等技术实现。旨在提供高效、可靠的在线考试解决方案,适用于各种在线考试场景,支持权限管理、考试管理等功能。
项目的主要特性和功能
前台功能
- 在线考试:用户可在线考试,系统自动记录考试时间和成绩。
- 查看错题:用户能查看做错的题目并复习。
后台功能
- 系统管理:涵盖用户、部门、角色、菜单、终端、路由管理,包含增删改查、导入导出、分配权限、刷新路由等操作。
- 系统监控:可进行日志、consul、zipkin、服务监控,还提供Swagger API文档。
- 考务管理:包括课程、考试、题库、成绩管理以及知识库管理,涉及增删改查、题目管理、发布回收、查看导出成绩、上传附件等操作。
- 附件管理:管理所有附件,如用户头像、考试附件、知识库附件等。
- 个人管理:可管理个人基本信息和修改密码。
安装使用步骤
环境准备
- 安装JDK 1.8或更高版本的Java开发环境。
- 安装MySQL 5.7或更高版本的数据库。
- 推荐使用IntelliJ IDEA或Eclipse作为开发工具。
- 使用Maven进行项目构建。
项目构建
- 复制项目:
bash git clone https://gitee.com/wells2333/spring-cloud-online-exam.git
- 导入项目:用IntelliJ IDEA或Eclipse导入,确保Maven自动下载项目依赖。
- 配置数据库:在
application.yml
文件中配置数据库连接信息,运行数据库脚本初始化表结构。 - 启动项目:启动Spring Boot应用,确保所有服务正常启动。前台地址:http://it99.club;后台地址:http://it99.club:81。
默认账号
- 单位ID:gitee
- 管理员:admin/123456
- 学生:student/123456
- 教师:teacher/123456
技术选型
- 服务注册与发现:Consul
- 熔断器:Hystrix + Turbine
- 客户端负载均衡:Ribbon
- 内部服务调用:Feign
- 网关:Spring Cloud Gateway
- 认证鉴权:Spring Cloud OAuth2 + JWT
- 程序监控:Spring Boot Admin / Spring Boot Actuator
- 分布式配置中心:Spring Cloud Config
- 分布式调用链监控:Spring Cloud Sleuth + Zipkin
- 数据库:MySQL 5.7
- 部署:Docker + docker-compose
- 构建工具:Maven
- 后台 API 文档:Swagger
- 消息队列:RabbitMQ
- 文件系统:FastDFS
- 缓存:Redis
- 前端:Vue
核心依赖
- Spring Boot:2.1.8.RELEASE
- Spring Cloud:Greenwich.SR3
系统架构
系统架构图详见系统架构图v3.0.jpg。
功能演示
- 前台功能:
- 考试:
- 查看错题:
- 后台功能:
- 总体功能:
- 考试管理:
- 题目管理:
- 个人资料:
问题反馈
欢迎提交issue,请写清楚遇到问题的原因、浏览器、操作系统环境、重现的流程和报错日志等。若有开发能力,建议在本地调试出出错的代码。
参考资料
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】