AI个人学习计划与资料助手
项目简介:基于大模型完成资料上传解析、知识点提取、内容总结、学习计划生成、每日任务管理、打卡记录、阶段复盘和学习建议,适合学习进度闭环、资料分类、任务提醒、复盘建议沉淀和学习提醒机制。
本项目覆盖的技术点
学完能答的面试题
学完这个项目,下面 10 道面试题你都能结合项目细节讲出来。题目在 AIGC 面试刷题网可以免费看。
resolveQueryUserId 决定查谁的数据,管理员传 null 查全部,普通用户传自己的 ID,身份从 Token 解析,前端伪造参数也扩大不了范围。系统架构
一张图看清整个系统的分层与核心链路,点开可缩放查看细节。
- 1接入层:用户 + 管理员共用页面用户设目标、传资料、生成计划、打卡和看复盘;管理员维护字典、模型与 Prompt,在五个业务页只看和删全部用户数据。
- 2学习闭环目标 → 资料 → AI 总结与知识点 → AI 学习计划 → 每日任务打卡 → AI 阶段复盘,复盘依据打卡与完成情况给改进建议;重新生成计划会先清空该目标下的旧计划、任务、打卡和复盘。
- 3结构化输出才能落库总结、知识点、计划、复盘每次调用都要求结构化 JSON,解析后分字段落库,页面才渲染得出来。
- 4模型与 Prompt 数据库化
SpringAiModelFactory按ai_model_config表构建 ChatClient,用配置内容当缓存 key,改完配置下一次请求自动换新实例。 - 5两处判断收在服务端
resolveQueryUserId统一决定数据范围;deletePreview删除前先查出会连带清掉的真实条数,已打卡的单独标出。 - 6存储与观测MySQL 8 存目标到复盘全链路;AI 调用日志按业务类型、状态、模型查询提示词原文、返回原文、耗时和失败原因。
技术栈
用到的框架、中间件和模型。
技术难点与解法
每一项优化都针对一个真实问题,讲清楚问题、做法和背后的原理。
01让 AI 计划可拆解、可执行
- 问题
- AI 生成一段自由文本的学习计划,看着挺好,但没法拆成每天的任务,更没法打卡。
- 做法
- 约定 JSON 结构(按天数组,每天含标题、学习内容、验收方式、建议时长),解析后逐天落库成每日任务。
- 原理
- 计划要落地,输出就得结构化;模型可能带多余文字或代码围栏,解析前先裁出 JSON 主体,失败要降级处理。
02一次生成的计划没有反馈
- 问题
- 计划生成完就结束了,学得快了、落后了,没人告诉你问题出在哪。
- 做法
- 每日打卡收集执行数据,AI 阶段复盘读取任务完成和打卡情况,指出问题、给出改进建议。
- 原理
- 「计划 → 执行 → 复盘」串成一条线,复盘读的是真实的打卡和完成数据,建议才有依据。
03两种角色共用一套页面
- 问题
- 管理员要看全部用户的数据,普通用户只能看自己的;如果靠前端传
userId区分,前端改个参数就越权了。 - 做法
- Service 里统一用
resolveQueryUserId按 Token 身份决定查询范围,Mapper 里按是否为 null 拼user_id条件;管理员只能看和删,不能替别人新增、生成、打卡。 - 原理
- 数据范围的决定权必须收在服务端:前端能传的参数前端就能改。
04删一个目标会连带删掉什么
- 问题
- 学习目标是整条业务链的根,直接删会留下一堆指向不存在记录的孤儿数据,已打卡的学习记录也一起没了。
- 做法
- 按「先叶子后根」级联清理:复盘 → 任务 → 计划 → 总结与知识点 → 资料 → 目标;删除前先查出每一类的真实条数,已打卡的任务单独标出。
- 原理
- 子表靠父表主键定位,顺序反了就找不到要删的子记录;让用户看清代价再决定。
功能清单
按角色看这个系统都能做什么。
字典与 AI 配置4 项
- 学习方向管理维护全局学习方向字典,供用户新建学习目标时选择
- 资料分类管理维护全局资料分类字典,供用户上传资料时选择
- AI 模型配置与 Prompt 模板维护模型配置与各场景 Prompt
全局数据2 项
- 全局学习数据视图学习目标、资料、计划、打卡、复盘五个页面看到全部用户的数据,只看和删
- 用户信息管理系统所有用户
页面截图
共 6 张真实运行截图,点击大图查看高清原图。
点击放大你将获得
购买后可以拿到的全部内容。
喂饭级学习教程13 章
从工程底座、目标与资料管理讲起,到资料总结、计划生成、每日打卡和阶段复盘,按开发顺序一章一章讲。
完整源码 + SQL
Spring Boot 后端 + Vue3 前端完整源码,MySQL 建表脚本和初始化数据。
配套面试文档
电梯陈述、架构与选型、核心技术点深挖、高频面试题和难点包装,面试时照着讲。
环境安装文档
JDK、MySQL、Node.js、Maven 等开发环境的安装与配置。
项目运行文档
数据库初始化、前后端启动、模型配置,从零把项目跑起来。
常见问题
下单前最常被问到的几个问题。
这个项目是 Java 还是 Python?
后端是 Java(JDK 21 + Spring Boot 4 + Spring AI 2),前端是 Vue3。
模型需要自己准备吗?
需要一个 API Key,默认配置是 DeepSeek,在管理端「AI 模型配置」里换成自己的 Key 即可。通义千问、Kimi、智谱等提供 OpenAI 兼容接口的服务商也能直接用。模型走接口调用,不需要显卡。
基础薄弱能学会吗?
教程是喂饭级的,从登录注册、统一返回这些工程底座讲起,每章都有验证步骤。基础不够的话,可以先按上面的「学习路径」从基础项目学起。
能写进简历、用作毕业设计吗?
可以,配套面试文档里有项目介绍、难点包装和高频追问,照着就能讲清楚。至于毕业设计,有小伙伴问过我,统一回答一下:AI 实战库板块的项目拿去做毕业设计,就四个字——降维打击。
源码能用于商业项目吗?
源码和教程本质上是给大家学习、提升技能的。如果需要商用,自己二次开发一下也没问题,但禁止原项目 + 教程转手倒卖。我是一个程序员,能看到你们学习我的教程提升能力,能听你们叫我一声大佬,挺幸福的!知足~
售后答疑
买完不是结束跟着教程学习,遇到问题不用自己硬扛。