How nmethuy/stml works
刷题吗喽!是一个面试题库与在线刷题平台,管理员维护题库和题目,用户注册登录、检索题目并刷题。README 还说明了题库关联、帖子、年度刷题记录、缓存与安全能力。图依据目录、README 和已提供的源码摘录整理;未提供的实现细节不展开推断。
Main entry points: QuestionController.java 题目接口 · UserController.java 用户接口 · QuestionBankController.java 题库接口 · QuestionService.java 题目服务
Components 27
API 与身份
题库与练习
- 题目接口
src/main/java/icu/banalord/shuatimalou/controller/QuestionController.java - 题目服务
src/main/java/icu/banalord/shuatimalou/service/QuestionService.java - 题库接口
src/main/java/icu/banalord/shuatimalou/controller/QuestionBankController.java - 题库服务
src/main/java/icu/banalord/shuatimalou/service/QuestionBankService.java - 题库题目关联
src/main/java/icu/banalord/shuatimalou/service/QuestionBankQuestionService.java - MySQL
用户内容
- 帖子接口
src/main/java/icu/banalord/shuatimalou/controller/PostController.java - 帖子服务
src/main/java/icu/banalord/shuatimalou/service/PostService.java - 点赞与收藏
src/main/java/icu/banalord/shuatimalou/controller/PostThumbController.java - 文件上传
src/main/java/icu/banalord/shuatimalou/controller/FileController.java - 对象存储管理
src/main/java/icu/banalord/shuatimalou/manager/CosManager.java - 腾讯云对象存储
- 微信接口
src/main/java/icu/banalord/shuatimalou/controller/WxMpController.java - 微信开放平台
搜索与性能
安全控制
Other components
- 用户
- 管理员
Connections 34
- 用户 → 用户接口: 提交账户请求
- 管理员 → 用户接口: 管理账户
- 用户接口 → 用户服务: 调用账户服务
- 用户服务 → 登录认证: 建立登录态
- 用户接口 → MySQL: 读写用户
- 用户 → 题目接口: 浏览与刷题
- 管理员 → 题目接口: 维护题目
- 题目接口 → 题目服务: 调用题目服务
- 题目服务 → MySQL: 查询与维护题目
- 管理员 → 题库接口: 管理题库
- 用户 → 题库接口: 浏览题库
- 题库接口 → 题库服务: 调用题库服务
- 题库接口 → 题库题目关联: 关联题目
- 题库服务 → MySQL: 读写题库
- 题库题目关联 → MySQL: 读写题库关联
- 题目接口 → 频率计数: 统计访问频率
- 频率计数 → Redis: 原子计数
- 题目服务 → 搜索访问层: 搜索题目
- 搜索访问层 → Elasticsearch: 检索索引
- 搜索索引同步 → MySQL: 读取更新题目
- 搜索索引同步 → 搜索访问层: 更新搜索索引
- 用户 → 帖子接口: 浏览与发布帖子
- 帖子接口 → 帖子服务: 调用帖子服务
- 帖子服务 → MySQL: 读写帖子
- 用户 → 点赞与收藏: 点赞或收藏
- 点赞与收藏 → 帖子服务: 处理帖子互动
- 用户 → 文件上传: 上传文件
- 文件上传 → 对象存储管理: 上传对象
- 对象存储管理 → 腾讯云对象存储: 写入文件
- 用户 → 微信接口: 微信登录或交互
- 微信接口 → 微信开放平台: 获取微信身份
- 题目接口 → 限流熔断规则: 受规则保护
- 管理员 → 动态 IP 黑名单: 访问受过滤
- 动态 IP 黑名单 → Nacos 配置: 监听名单配置