# Py智慧课程 **Repository Path**: cvoo71/py-smart-course ## Basic Information - **Project Name**: Py智慧课程 - **Description**: python课程的ai智慧课程javaweb项目 - **Primary Language**: JavaScript - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 4 - **Created**: 2026-06-22 - **Last Updated**: 2026-09-13 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 智慧课程系统(Smart Course) > Python 编程与数据分析基础 · 软件系统开发实训项目 ## 开源仓库 **Gitee:** https://gitee.com/cvoo71/py-smart-course ```bash git clone https://gitee.com/cvoo71/py-smart-course.git cd py-smart-course ``` --- ## 项目简介 **智慧课程系统(Smart Course)** 是一套面向高校单课程场景的 **B/S 架构智慧教学管理平台**,服务教师与学生两类用户,围绕「**教、学、评、管、智**」五个环节构建完整教学闭环。 系统以「**章 → 小节 → 知识点 → 学习任务**」四级结构组织课程内容,将学习行为(进度、测验、视频观看、项目提交等)沉淀为数据,并通过知识图谱、学习地图、能力雷达等可视化手段呈现学情;在此基础上提供薄弱点诊断、个性化学习路径,并接入大模型(DeepSeek)实现 AI 答疑、辅助批改、学习推荐等智能辅助能力。 **设计理念(五化闭环):** | 步骤 | 说明 | |------|------| | 内容结构化 | 章 → 小节 → 知识点 → 学习任务 | | 行为数据化 | 学习记录、提交、错题、视频进度 | | 学情可视化 | 知识图谱、学习地图、能力雷达 | | 路径智能化 | 薄弱点诊断 + 个性化推荐 | | AI 辅助化 | 推荐、答疑、批改建议(辅助教师) | **技术栈:** | 层级 | 技术 | |------|------| | 后端 | Java 17、Spring Boot 3.2、MyBatis-Plus、Spring Security、JWT | | 前端 | Vue 3、Vite、Element Plus、ECharts、Pinia、Vue Router | | 数据库 | 人大金仓 KingbaseES V9(MySQL 兼容模式) | | AI | DeepSeek API(`deepseek-v4-flash`,支持未配置 Key 时降级) | | 其他 | Knife4j(API 文档)、EasyExcel(导入导出)、本地文件存储 | --- ## 功能说明 ### 基础能力 — 教学闭环 - **双端登录与权限**:教师端 / 学生端分离,JWT 无状态鉴权 - **课程结构管理**:课程、章节、小节、知识点、学习任务的增删改查 - **多类型学习任务**:阅读、视频、课件、测验、实践项目 - **学生学习**:浏览任务、标记完成、在线答题、提交项目 - **成绩与反馈**:成绩查看、教师评语、学习记录追踪 ### 拓展能力 — 深度管理 - **学生管理**:选课、Excel 批量导入导出学生名单 - **统一提交工作台**:教师集中批改测验答卷与实践项目 - **视频学习分析**:班级视频观看进度热力图 - **实践项目管理**:学生多文件草稿保存与正式提交 - **班级学情评估**:教师端班级整体学习情况洞察 ### 创新能力 — 智慧学习 + AI - **智能学习模块** - 知识图谱:知识点关联与掌握度可视化 - 学习地图:按章节展示学习进度 - 能力雷达:多维度能力画像 - 个性化路径:根据薄弱点推荐下一步学习内容 - **AI 学习辅助** - AI 学习推荐:结合学情生成学习建议 - AI 自适应自测:针对薄弱知识点出题练习 - AI 学习周报:自动生成周度学习总结 - AI 答疑:结合课程上下文的流式对话(SSE) - AI 辅助批改:主观题 / 代码题批改建议 - 错题精讲:针对错题生成讲解 ### 项目结构 ``` smart-course/ ├── backend/ # Spring Boot 后端 ├── frontend/ # Vue 3 前端 ├── sql/ # 数据库脚本(schema + 金仓迁移 SQL) ├── scripts/ # Python/PowerShell 工具脚本 ├── data/quiz-seeds/ # 测验题 JSON 备份 ├── harmony/ # 鸿蒙元服务扩展(挑战任务) ├── docs/ # 项目文档 ├── start.ps1 / stop.ps1 # 一键启停 └── reset-db.ps1 # 数据库重置 ``` --- ## 安装部署指南 ### 环境要求 | 依赖 | 版本 / 说明 | |------|-------------| | JDK | **17**(需配置 `JAVA_HOME`) | | Maven | 3.8+ | | Node.js | 18+(含 npm) | | Python | 3.8+(用于数据库脚本与工具) | | KingbaseES | V9,默认安装路径 `D:\KES`,端口 **54321** | ### 1. 克隆项目 ```bash git clone https://gitee.com/cvoo71/py-smart-course.git cd py-smart-course ``` ### 2. 配置金仓数据库(首次) 1. 确认金仓服务可启动(数据目录默认 `D:\KES\kes_instance`) 2. 将金仓 JDBC 驱动安装到本地 Maven 仓库(路径按实际安装目录调整): ```powershell mvn install:install-file ` -Dfile="D:\KES\KESRealPro\V009R001C010\Interface\jdbc\kingbase8-9.0.0.jar" ` -DgroupId=com.kingbase8 ` -DartifactId=kingbase8 ` -Dversion=9.0.0 ` -Dpackaging=jar ``` 3. 若金仓 `system` 用户密码不是默认 `1234`,请设置环境变量: ```powershell $env:KINGBASE_PASSWORD = "你的密码" ``` ### 3. 配置 AI 服务(可选) AI 功能依赖 DeepSeek API。在启动前设置环境变量: ```powershell $env:DEEPSEEK_API_KEY = "你的 DeepSeek API Key" ``` 未配置 Key 时,部分 AI 功能将使用本地 Mock 降级,不影响基础教学功能演示。详细说明见 [`docs/大模型技术应用说明.md`](docs/大模型技术应用说明.md)。 ### 4. 初始化数据库 ```powershell powershell -ExecutionPolicy Bypass -File reset-db.ps1 ``` 脚本将自动:生成金仓兼容 SQL → 重建 `smart_course` 库 → 导入演示数据。 ### 5. 一键启动(推荐) ```powershell .\start.ps1 ``` 首次运行会自动执行 `npm install` 安装前端依赖;若数据库未初始化,会自动调用 `reset-db.ps1`。 | 服务 | 地址 | |------|------| | 前端 | http://localhost:5173 | | 后端 | http://localhost:8080 | | API 文档 | http://localhost:8080/doc.html | 关闭启动时弹出的 PowerShell 窗口即可停止服务。也可使用 `.\stop.ps1`。 ### 6. 手动启动(可选) **后端:** ```powershell $env:JAVA_HOME = "C:\Program Files\Microsoft\jdk-17.0.19.10-hotspot" # 按本机路径修改 $env:KINGBASE_PASSWORD = "1234" # 按需修改 cd backend mvn spring-boot:run ``` **前端:** ```powershell cd frontend npm install # 首次 npm run dev ``` ### 7. 生产构建(可选) ```powershell # 前端打包 cd frontend npm run build # 产物在 frontend/dist/ # 后端打包 cd backend mvn package -DskipTests # 产物在 backend/target/*.jar ``` --- ## 使用说明 ### 演示账号 | 角色 | 用户名 | 密码 | |------|--------|------| | 教师 | `teacher1` | `123456` | | 学生 | `student1` | `123456` | 登录后系统根据角色自动跳转至教师端或学生端。 ### 教师端常用流程 1. **工作台**:查看班级整体学情概览 2. **课程管理**:维护章节、小节、知识点与学习任务 3. **任务管理**:创建阅读 / 视频 / 课件 / 测验 / 项目任务,配置题目与资源 4. **学生管理**:查看选课学生,支持 Excel 导入导出 5. **提交工作台**:批改学生测验答卷与实践项目,填写成绩与评语 6. **成绩管理**:查看与维护全班成绩 7. **班级评估**:查看班级学情洞察报告 8. **智能学习**:查看班级知识图谱、学习地图、能力雷达 9. **AI 助手**:教师端 AI 对话,辅助备课与答疑 ### 学生端常用流程 1. **工作台**:查看个人学习进度与待办任务 2. **我的课程**:浏览课程结构与知识点 3. **学习任务**:进入任务详情,完成阅读、观看视频、在线测验或提交项目 4. **我的成绩**:查看各任务得分与教师反馈 5. **学习反馈**:查看 AI 生成的学习周报与建议 6. **AI 推荐**:获取个性化学习路径推荐 7. **AI 自测**:针对薄弱知识点进行自适应练习 8. **智能学习**:查看个人知识图谱、学习地图、能力雷达与推荐路径 9. **AI 答疑**:就课程相关内容进行流式对话提问 ### 推荐演示路线 适合答辩或验收时按以下顺序演示: 1. **学生学习闭环**:学习任务 → 视频 / 测验 → 成绩反馈 2. **智能学习(重点)**:知识图谱 → 学习地图 → 能力雷达 → 个性化路径 3. **教师管理与分析**:班级洞察 → 提交工作台 → 视频学习分析 ### 常用维护命令 | 操作 | 命令 | |------|------| | 完全重置数据库 | `powershell -ExecutionPolicy Bypass -File reset-db.ps1` | | 清空课程任务 | `.\clear-course-tasks.ps1` | | 运行单元测试 | `.\scripts\run-tests.ps1` | | 后端测试 | `cd backend; mvn test` | | 前端测试 | `cd frontend; npm run test:coverage` | ### 相关文档 | 文档 | 说明 | |------|------| | [`docs/大模型技术应用说明.md`](docs/大模型技术应用说明.md) | AI 模块架构与功能说明 | | [`docs/国产数据库应用说明.md`](docs/国产数据库应用说明.md) | KingbaseES 部署与适配 | | [`docs/单元测试提交说明.md`](docs/单元测试提交说明.md) | 测试覆盖与报告路径 | | [`docs/git-setup.md`](docs/git-setup.md) | Git 协作说明 | --- ## 许可证 本项目为课程实训用途,具体授权由项目组自行约定。