1.立项背景
大学生群体是我们产品的核心目标用户,他们的年龄范围主要集中在18至25岁之间。这个年龄段的学生正处于高等教育阶段,需要修读各类专业课程,面临着较大的记忆压力和学习任务。由于大学生活的特点,他们的时间往往呈现出碎片化的状态,难以进行长时间连续的学习。
2.典型使用场景的深入剖析:
首先,在课前预习和课后复习方面,学生可以利用我们的产品提前了解即将学习的内容,并在课后及时巩固所学知识。其次,在考试前期,产品可以帮助学生进行集中性的记忆训练,提高复习效率。再者,日常的任务管理和课程安排也是重要应用场景,帮助学生合理规划时间。最后,考虑到现代学生多设备使用的习惯,我们还提供了跨设备同步学习进度的功能,确保学习数据的一致性和连续性。
3.核心功能的详细描述
核心目标用户群体主要针对上海交通大学学生
课程自动导入功能:
系统可以从Canvas等主流教育平台自动获取课程表和回放视频资源,同时支持用户手动补充其他日程安排,如社团活动、兼职工作等,确保日程的完整性。
AI知识点总结功能:
通过先进的AI技术,系统能够自动提取课程视频字幕中的关键信息,生成便于复习的知识摘要。同时,还能自动抓取课程PPT中的重要内容,为用户提供全方位的学习资料。
智能复习规划的算法逻辑:
基于艾宾浩斯遗忘曲线理论,系统会自动安排最优的复习时间。用户可以根据个人需求自定义复习优先级,也可以选择排除某些不需要复习的课程。
日程可视化与提醒功能的设计理念:
系统提供震动提醒和铃声提醒两种方式,确保用户不会错过重要事项。同时具备冲突检测和自动顺延机制,当出现时间冲突时能够智能调整日程安排。
个性化功能:
为了满足用户的个性化需求,我们提供了多种颜色的主题风格供用户选择。此外,还设置了可自定义的免打扰时段,既能保障用户的专注学习时间,又能在夜间休息时避免被打扰。
1.整体架构与设计思路
项目采用 Flutter 单端架构(Android 为主),围绕“课程导入 -> 内容抓取 -> AI 提炼 -> 复习日程 -> 提醒执行”设计闭环。课程表模块用 WebView + JS DOM 解析抓取教务网页并映射到周视图;课堂内容抓取模块支持从 oc.sjtu.edu.cn 提取文本与 PPT 链接;AI 模块通过 HTTP 调用 Deepseek-V3.1模型完成要点提炼与复习建议生成;日程模块用本地算法按记忆曲线排程并做课程时间冲突检测;提醒模块采用 AlarmManager(原生) + flutter_local_notifications;数据持久化使用 SharedPreferences。
2.我负责的模块与结果(量化)
我独立完成了课程表、日程、用户三大页面与核心业务逻辑,重点负责:课表导入解析、课程卡片交互、AI 提炼接入、复习计划生成、提醒调度与本地持久化。实现了 7 天 x 13 节 的课表展示、连堂课程合并、单双周识别、课程详情二次抓取与重抓、AI 提炼结果回写、自动生成多阶段复习任务、手动日程增删改查、重启后数据恢复等功能,形成可在真机连续使用的 MVP。
3.难点、坑与解决方案
主要难点在于:不同教务页面结构不一致导致抓取不稳定、Android 发布版 WebView/网络权限差异、厂商系统下定时提醒不触发、以及中文编码与 UI 溢出问题。
我的解决方案是:按页面特征分层写解析器并增加容错;补齐发布版 INTERNET/网络配置;将排程提醒改为原生 AlarmManager 精确调度并补充权限引导;统一 UTF-8 编码链路并重构课程卡片自适配布局。