4.3 KiB
4.3 KiB
Knowledge Management System
基于 Spring Boot 3.2.5 的知识管理系统,提供用户管理、考试系统、文件管理、AI聊天等核心功能。
技术栈
- 框架: Spring Boot 3.2.5
- 语言: Java 17
- 数据库: MySQL 8.0+
- 缓存: Redis 6.0+
- ORM: MyBatis Plus 3.5.5
- 认证: JWT
- API文档: SpringDoc OpenAPI 2.3.0
- JSON处理: FastJSON 2.0.43
功能模块
| 模块 | 描述 |
|---|---|
| 用户管理 | 用户注册、登录、信息管理 |
| 角色权限 | 角色管理、权限分配 |
| 考试系统 | 试卷生成、考试管理、成绩批阅 |
| 题目管理 | 题目CRUD、统计分析 |
| 文件管理 | 文件上传、下载、权限控制 |
| AI聊天 | 基于RAG的智能问答 |
| 搜索功能 | 全文搜索 |
| 反馈管理 | 用户反馈收集与处理 |
| FAQ管理 | 常见问题管理 |
| 错题管理 | 错题收集与重做 |
快速开始
环境要求
- JDK 17+
- Maven 3.8+
- MySQL 8.0+
- Redis 6.0+
数据库配置
- 创建数据库:
CREATE DATABASE IF NOT EXISTS knowledge_management_system
DEFAULT CHARACTER SET utf8mb4
DEFAULT COLLATE utf8mb4_unicode_ci;
- 执行数据库初始化脚本:
mysql -u root -p knowledge_management_system < docs/sql/knowledge_management_system.sql
运行方式
开发环境
# 克隆项目
git clone <repository-url>
cd demo
# 编译运行
mvn spring-boot:run
生产环境
# 打包
mvn clean package
# 运行
java -jar target/demo_1-0.0.1-SNAPSHOT.jar
Docker 部署
# 构建镜像
docker build -t knowledge-management-system .
# 运行容器
docker run -d -p 8080:8080 \
-e DB_USERNAME=root \
-e DB_PASSWORD=yourpassword \
-e REDIS_HOST=redis \
knowledge-management-system
配置说明
主要配置项(可通过环境变量覆盖):
| 环境变量 | 默认值 | 说明 |
|---|---|---|
DB_USERNAME |
root | 数据库用户名 |
DB_PASSWORD |
123456 | 数据库密码 |
REDIS_HOST |
redis | Redis 主机 |
REDIS_PORT |
6379 | Redis 端口 |
JWT_SECRET |
your-secret-key... | JWT 密钥 |
SWAGGER_ENABLED |
true | 是否启用 Swagger |
CORS_ALLOWED_ORIGINS |
* | 允许的跨域来源 |
API 文档
启动服务后访问:
- Swagger UI: http://localhost:8080/api/swagger-ui.html
- OpenAPI JSON: http://localhost:8080/api/v3/api-docs
项目结构
├── src/main/java/top/tqx/demo_1/
│ ├── controller/ # REST API 控制层
│ ├── service/ # 业务逻辑层
│ ├── mapper/ # 数据访问层
│ ├── entity/ # 数据库实体
│ ├── dto/ # 数据传输对象
│ ├── vo/ # 视图对象
│ ├── config/ # 配置类
│ ├── interceptor/ # 拦截器
│ ├── aspect/ # AOP切面
│ ├── exception/ # 异常处理
│ ├── util/ # 工具类
│ └── Demo1Application.java
├── src/main/resources/
│ ├── application.yml # 主配置文件
│ ├── application-dev.yml # 开发环境配置
│ └── application-prod.yml # 生产环境配置
├── docs/ # 文档
│ ├── sql/ # 数据库脚本
│ └── api/ # API文档
├── uploads/ # 文件上传目录
├── logs/ # 日志目录
└── pom.xml # Maven 配置
核心功能说明
1. 用户认证
- JWT Token 认证
- 密码加密存储 (BCrypt)
- 权限拦截器
2. 考试系统
- 智能试卷生成
- 考试流程管理
- AI 自动批阅
- 成绩统计分析
3. 文件管理
- 大文件上传支持
- 文件版本控制
- 访问权限控制
4. AI 集成
- RAG 知识库检索
- 流式问答响应
- 引用来源追踪
安全特性
- JWT 令牌认证
- 接口限流
- 权限校验
- SQL 注入防护
- CORS 跨域配置
日志管理
- 控制台日志
- 文件日志(按天分割)
- 最大保留 30 天
开发规范
- 代码风格:Google Java Style
- 异常处理:统一异常处理
- 日志记录:使用 SLF4J
许可证
MIT License
联系方式
如有问题或建议,请提交 Issue 或联系开发团队。