# data-structure-learning-platform **Repository Path**: nie-yijun/data-structure-learning-platform ## Basic Information - **Project Name**: data-structure-learning-platform - **Description**: 《数据结构》课程的智慧学习平台,以知识图谱为核心,融合交互式学习、个性化跟踪、智能辅助功能,支持学习者构建完整的知识体系。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-05-05 - **Last Updated**: 2026-06-08 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 《数据结构》课程智慧学习平台 《数据结构》课程的智慧学习平台,以**知识图谱**为核心,融合交互式学习、个性化跟踪、智能辅助功能于一体的在线学习系统。 ## 项目目标 帮助学习者构建完整的《数据结构》知识体系,提升学习效率与实践能力。 ## 功能特性 ### 1. 知识图谱可视化 - 以节点-边模型直观展示知识点关联 - 支持缩放、平移、搜索定位 - 根据学习状态显示不同颜色标记 ### 2. 学习目录导航 - 多级目录结构,层级清晰 - 显示学习状态(未学习/学习中/已完成) - 推荐学习路径引导 ### 3. 知识点详细讲解 - 基础定义与核心性质 - 结构图示(C++代码实现) - 时间/空间复杂度分析 - 配套练习题(基础/考研/面试) ### 4. 学习跟踪统计 - 学习进度可视化 - 知识点掌握度分析 - 学习行为热力图 - 班级对比功能 ### 5. AI智能辅助 - 知识点问答讲解 - 代码分析与纠错 - 代码自动生成 ## 技术栈 | 分类 | 技术 | |------|------| | 前端 | Vue.js 3 + Vite + Element Plus + ECharts + D3.js | | 后端 | Node.js + Express + MySQL + Neo4j | | 其他 | JWT认证、bcrypt加密、AI API集成 | ## 项目结构 ``` data-structure-learning-platform/ ├── frontend/ # 前端项目 │ ├── src/ │ │ ├── components/ # 组件 │ │ ├── views/ # 页面 │ │ ├── router/ # 路由 │ │ ├── store/ # 状态管理 │ │ └── api/ # API调用 │ └── package.json │ ├── backend/ # 后端项目 │ ├── routes/ # 路由 │ ├── controllers/ # 控制器 │ ├── models/ # 数据模型 │ ├── services/ # 业务逻辑 │ ├── middleware/ # 中间件 │ └── package.json │ ├── docs/ # 文档 │ ├── 小组分工文档.md # 分工说明 │ ├── api.md # 接口文档 │ └── 知识图谱清单.md # 知识图谱内容 │ └── contents/ # 学习内容 ├── graphs/ # 结构图示 └── codes/ # 代码示例 ``` ## 快速开始 ### 环境要求 - Node.js >= 16 - MySQL >= 8.0 - Neo4j >= 4.0 ### 安装步骤 ```bash # 1. 克隆项目 git clone cd data-structure-learning-platform # 2. 安装前端依赖 cd frontend npm install # 3. 安装后端依赖 cd ../backend npm install # 4. 配置数据库 # 修改 backend/.env 中的 MySQL 连接信息 # 在 MySQL 中执行 sql/init.sql,创建项目基础数据表 # 初始化知识图谱节点、关系和演示学习状态 cd .. npm run db:init --prefix backend # 如果当前已经在 backend 目录,也可以执行:npm run db:init # 5. 启动项目 # 前端 cd frontend npm run dev # 后端 cd backend npm run dev ``` ### 配置说明 前端配置文件:`frontend/src/config.js` 后端配置文件:`backend/config.js` ```javascript // 后端配置示例 module.exports = { port: 3000, mysql: { host: 'localhost', user: 'root', password: 'your_password', database: 'ds_platform' }, neo4j: { url: 'bolt://localhost:7687', user: 'neo4j', password: 'your_password' }, jwt: { secret: 'your_secret_key', expire: '7d' } }; ``` ## 团队成员 | 序号 | 负责模块 | 主要任务 | |------|----------|----------| | 1 | 知识图谱可视化 | 图谱渲染、交互、API | | 2 | 学习目录导航 | 目录组件、目录API | | 3 | 线性表+二叉树讲解 | 详情页、内容制作 | | 4 | 平衡树+B树讲解 | 树动画、内容制作 | | 5 | 练习题系统 | 题目组件、判题API | | 6 | 图算法讲解 | 图动画、内容制作 | | 7 | 学习统计报告 | 图表组件、统计API | | 8 | AI辅助功能 | AI界面、AI服务 | | 9 | 用户系统 | 登录注册、用户API | | 10 | 项目整合 | 联调、文档、PPT | 详细分工见 [小组分工文档.md](docs/小组分工文档.md) ## 开发规范 ### Git分支管理 ```bash # 主分支 main # 稳定版本 dev # 开发分支 # 功能分支命名 feature/模块X-功能描述 # 例如: feature/A-graph bugfix/问题描述 # Bug修复 ``` ### Commit规范 ``` [模块] 描述内容 例如: [图谱] 添加节点拖拽功能 ``` ### 代码规范 - 变量命名:驼峰命名(camelCase) - 组件命名:PascalCase - 常量命名:大写下划线(SNAKE_CASE) - 注释:公共方法需添加JSDoc注释 ## 接口规范 详见 [接口文档](docs/api.md) 统一响应格式: ```json { "code": 200, "message": "操作成功", "data": {} } ``` 状态码: | 状态码 | 说明 | |--------|------| | 200 | 成功 | | 400 | 参数错误 | | 401 | 未登录 | | 403 | 无权限 | | 500 | 服务器错误 | ## 开发进度 | 阶段 | 时间 | 任务 | |------|------|------| | 第一阶段 | 第1周 | 项目初始化、知识图谱初稿 | | 第二阶段 | 第2-4周 | 功能模块开发 | | 第三阶段 | 第5周 | 联调测试、AI功能 | | 第四阶段 | 第6周 | 测试修复、文档整理 | ## 参考资料 - [LeetCode](https://leetcode.cn/) - [GeeksforGeeks](https://www.geeksforgeeks.org/) - [Vue.js文档](https://vuejs.org/) - [Neo4j文档](https://neo4j.com/docs/) ## 许可证 MIT License