EduBox - 人工智能学生中心
这是KendoReact 免费组件挑战赛的参赛作品。
简而言之;适用于职场人士
生活难免会遇到各种状况:截止日期变更、任务堆积如山,校园生活也充满了意想不到的变数。EduBox 的宗旨是平衡一切——让所有事情都井然有序,从而让你事半功倍,减少烦恼。无论你是被课程表压得喘不过气的大一新生,还是身兼数职、忙于各种事务的大四学生,EduBox 都能助你轻松应对,避免精疲力竭。
我建造的
我创建 EduBox 的初衷是厌倦了学生时代在各种应用程序和工具之间疲于奔命。你肯定也经历过——笔记散落在 Google 云端硬盘里,作业记录杂乱地堆放在某个电子表格中,校园活动也只能偶尔听说,还有那种时刻担心错过截止日期的焦虑。所以我创建了这个智能学生中心,把所有东西都集中在一个地方。
EduBox 利用人工智能帮助学生保持学习效率,掌控学习生活。它拥有智能文件管理功能,支持语义搜索(让你在需要时轻松找到笔记),智能规划器能够学习你的学习习惯,帮你避免临时抱佛脚,校园生活中心让你与社团和活动保持联系,甚至还有一个人工智能助手,可以回答你关于学习资料的问题,还能通过工具调用创建新的作业/学习计划等等。它就像一个真正了解你学习内容的私人学习助手。此外,它还具备人工智能内容生成、Markdown 快速编辑器(感谢 Kendo)、学习助手、海量上下文存储空间、数据导入/导出功能以及个人资料管理空间等功能。
技术栈(概览):
- 前端:Next.js + TypeScript,使用 Tailwind 进行样式设计,以实现响应式、易于访问的用户界面。
- 身份验证:用于安全用户登录和个人资料的管理员。
- 同步/存储:Convex 用于实时同步和简单的无服务器数据操作。
- AI 和代理:使用 CopilotKit 构建多代理编排,通过 Vertex/Gemini 使用 Tools 托管 LLM,以及 Kendo RAG(检索增强生成)将模型答案建立在用户笔记和文档之上。
- UI/UX 组件:KendoUI - 加速开发的强大组件。
- 部署:前端 - Vercel 设置,后端 - Render,两者都具有环境驱动的密钥和提供程序配置。
还想了解更多?看看这个应用吧——里面肯定还有更多内容,我一直在不断地完善它 :)
演示
演示太疯狂了,我感觉会出问题(但还好没出问题):YouTube 上的演示视频
该应用程序已在 Vercel 网站上线:网站
源代码:源代码
注意:由于目前处于试用阶段,某些功能可能在部署后无法正常工作。在这种情况下,请尝试使用您的 .env 文件和本地环境。
屏幕截图(部分截图为开发过程中截取)
着陆页
仪表盘和概览
AI助手和聊天
搜索与 RAG
计划与日程安排
文件管理
后端服务
附加功能
使用的 KendoReact 组件
我在 EduBox 项目中完全使用了 KendoReact 组件!以下是我使用的组件:
- KendoReact 按钮——这些按钮赋予了我所有的 UI 按钮专业、精致的外观,并带有流畅的涟漪效果。
- KendoReact 指示器——完美的加载指示器,我把它们巧妙地分布在应用程序的各个角落,用于显示“请稍候”的提示。
- KendoReact PDF - 让导出分析报告为 PDF 文件变得无比轻松
- KendoReact进度条- 非常适合在文件管理部分显示上传进度
- KendoReact Ripple——为按钮、开关和下拉菜单添加了令人满意的涟漪效果——让一切都更具互动性。
- KendoReact ScrollView——通过添加无限滚动截图部分,使着陆页更加美观。
- KendoReact Sortable - 实现了用于整理文件的拖放功能
- KendoReact Taskboard——围绕它构建了整个计划器界面
- KendoReact Upload - 处理所有文件上传
- KendoReact 编辑器- 为学生提供富文本编辑功能,方便他们格式化笔记。
- Kendo主题默认设置- 使得两种主题中的组件配色方案切换过于容易
这些组件为我节省了大量时间,并且使用户界面看起来比我从头开始构建要专业得多。
使用 Kendo AI 编码助手编写更智能的代码
天哪,Kendo AI Assistant 对 EduBox 的开发来说简直是颠覆性的!在整个开发过程中,我多次使用它作为我的 AI 代码助手。它不仅仅是编写代码的工具——它成了我的代码伙伴,帮助我思考问题并实现解决方案。
它对我的帮助是这样的:
- 组件创建简直太疯狂了:它真的可以在几秒钟内创建一个非常非常复杂的组件。我之前遇到了一个难题——我原本想自己创建一个逻辑比较复杂的 React 组件,来实现我设想的用户体验。但我转而向 Kendo AI 寻求帮助,令我惊讶的是,它给出的答案竟然是“Sortable”(可排序组件)。这正是我想要创建的组件,Kendo 本身就有,但这个 AI 助手让集成变得异常简单。它帮了我好几次忙。它帮助我构建复杂的组件,并创建了 TypeScript 接口。
- 调试伙伴:当我在前端组件和页面与各种 AI 服务和数据获取集成时遇到问题,它帮助我识别并解决了这些问题。
- 架构建议:它为我提供了关于如何组织现有组件结构以及如何使用 Kendo 组件集成所有这些不同服务的绝妙建议。
人工智能助手在以下方面尤其有用:
- 制造复杂组件和处理正确的数据方法
- 修改现有组件以提升用户体验。
- 搭建多服务架构
- 使用正确的 TypeScript 类型创建响应式 UI 组件
- 优化组件性能
如果没有 Kendo AI Assistant,这个项目会耗时更长,而且可能存在更多 bug。快速挑战——尽可能多地找出 bug 并提交问题报告。
Progress/Kendo NucliaDB RAG 集成
我整合了 Nuclia RAG 作为 EduBox 搜索功能的核心,它彻底改变了学生与学习资料的互动方式。学生不再局限于关键词搜索,而是可以提出自然的问题,并根据自己的文档获得智能答案。你可以询问照片、聊天记录、作业、文件、内容、日程安排、用餐、活动——几乎任何内容。你不仅能获得答案,还能获得来源信息。所有内容都通过他们的同步 API 持续更新,检索速度更是惊人。不得不说,他们开发出如此实用的服务真是太棒了!不过,正式版可能还需要一段时间才能提供这项功能——目前它还在试用阶段。
该集成主要包含两个部分:
后端服务:我构建了一个自定义的 Node.js 服务来处理所有文档。它会自动为每个用户创建个性化的知识库,在后台处理文件上传,并为前端提供简洁的 API 接口。它会将你的用户上下文同步到 NucliaDB,NucliaDB 会对其进行操作,例如向量化查找相似项等等。我们可以使用他们的组件进行查询,响应生成则通过 ChatGpt + Azure 模型实现(我的案例中是这样——他们的网站上有很多选项)。超级酷炫又简单易用。
前端集成:Nuclia 提供了一个弹出式组件,它本质上是一个搜索组件(更像是一个小部件),由 Nuclia 自身提供,用于查询 Nuclia 以语义化地搜索用户的所有文档。当您上传 PDF 或其他文档时,它会立即被索引,以便您可以立即进行搜索。人工智能可以从您的文档中提取相关信息,并提供符合上下文的答案。当 userContext 的哈希值发生变化时,前端会触发后端请求。后端随后通过 Nuclia API 进行同步。
它的特别之处在于,学生可以提出诸如“我的微积分笔记的重点是什么?”或“查找下周作业的相关信息”之类的问题,并根据他们自己上传的资料获得准确、有用的答案。这就像拥有一个了解你所学或想要了解的一切的人工智能导师一样 :|
整个设置也保证了隐私——每个用户在 Nuclia KB 中都有自己的哈希值,因此他们的学术资料保持私密和安全。
EduBox——人工智能学生中心——的下一步是什么?
- 改进了新用户引导和初始设置流程,以便新用户能够快速从 Obsidian/Notion/Joplin 等软件导入笔记,并体验其价值。
- 支持与 Google Calendar、iCal、Canvas/Blackboard 等平台进行双向同步和成绩/任务导入。集成 Zoom 和 GMeet、YouTube API 以及 Google 云端硬盘。
- 移动优先优化(PWA 或原生客户端)和无障碍功能改进。
- 插件/连接器系统允许第三方添加数据源或自定义代理行为。这显然难度较低,现在也可以实现,但需要对架构进行更改,例如创建网关和处理相互依赖关系。
补充信息:
建筑结构图【高层次】
项目结构【非常简单】
EduBox/
├── frontend/
│ ├── app/ # App Router pages and API routes
│ ├── components/
│ │ ├── schematic/ # Schematic billing components
│ │ └── ui/
│ ├── convex/ # Convex database schema and functions
│ ├── lib/ # Utility libraries
│ ├── hooks/ # Custom React hooks
│ └── types/ # TypeScript type definitions
├── backend/
│ └── nuclia-sync/ # Nuclia document sync service
└── README.md
该项目还使用了 Schematic,其内部集成了 Stripe 支付管理功能,以提供基于套餐的使用方案。它提供有限免费、入门级和专业版三种套餐。目前,所有用户默认使用有限免费套餐以访问所有功能。这是一个由 Schematic 高效管理的支付网关解决方案。
试着问:
“明天要交什么?”
“帮我找到我上周的生物笔记。”
“我上物理课之前有时间去健身房吗?”
有关设置详情,请参阅 GitHub 上的 README.md 文件。
很高兴能开发出这样一款实用且功能完善的产品。Kendo的文档非常易读,让我很容易就能构思出一个完整的应用程序。我建议大家至少试用一次,我在开发过程中获得了极大的乐趣。
请查看Kendo Docs了解更多详情,并参考Nuclia RAG DB。如有任何问题,您可以随时咨询Kendo AI Assistant。
暂时就这些了,期待着它能带来更多疯狂的新可能性——现在我可以更好地掌控自己的生活了。
如有任何疑问/建议/疑虑,或者只是想闲聊,
请联系我:arya.2023ug1104@iiitranchi.ac.in


















