项目简介
本项目是基于Spring Cloud微服务架构搭建的分布式在线考试系统,旨在打造一个高效、可扩展的在线考试平台。该系统支持单选题、多选题、判断题和主观题等多种题型,具备用户认证、考试管理、成绩统计等功能。
项目的主要特性和功能
- 用户认证与授权:运用Apache Shiro进行用户认证和授权管理,借助Redis实现Session管理,提升性能与可扩展性,还提供自定义的认证过滤器和会话管理器。
- 考试管理:支持创建、删除和查询考试,能上传和下载考试题目并缓存到Redis中,提供考试状态管理,包含未开始、进行中和已结束。
- 题目管理:支持对多种题型进行增删改查操作,支持批量导入题目并进行数据校验。
- 成绩管理:支持学生提交考试答案并自动评分,提供成绩查询和统计功能,如最高分、最低分、平均分和及格率,支持发送成绩邮件给学生。
- 分布式架构:使用Spring Cloud Eureka进行服务注册和发现,使用Spring Cloud Config进行配置管理,使用Feign进行服务间通信。
安装使用步骤
1. 环境准备
- Java 8 或更高版本
- Maven 3.x
- Redis
- MySQL
- Spring Boot 2.x
- Spring Cloud
2. 进入项目目录
bash
cd onlinetest
3. 配置数据库
在application.yml
文件中配置MySQL数据库连接信息:
yaml
spring:
datasource:
url: jdbc:mysql://localhost:3306/onlinetest
username: root
password: yourpassword
4. 启动Eureka服务注册中心
进入eureka
模块,启动Eureka服务注册中心:
bash
cd eureka
mvn spring-boot:run
5. 启动Config配置服务
进入config
模块,启动Config配置服务:
bash
cd config
mvn spring-boot:run
6. 启动其他微服务
依次启动auth
、backage
、front
和mail
模块:
```bash
cd auth
mvn spring-boot:run
cd backage mvn spring-boot:run
cd front mvn spring-boot:run
cd mail mvn spring-boot:run ```
7. 访问系统
启动完成后,可通过浏览器访问系统的前端页面,默认地址为:
http://localhost:8080
8. 使用系统
- 用户登录:使用系统提供的用户名和密码进行登录。
- 创建考试:在考试管理页面创建新的考试,并上传题目。
- 参加考试:学生可以在指定时间内参加考试并提交答案。
- 查看成绩:考试结束后,学生和管理员可以查看考试成绩和统计信息。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】