# 轻量-智能-学习平台 **Repository Path**: yi-tianxin/edu ## Basic Information - **Project Name**: 轻量-智能-学习平台 - **Description**: 轻量、智能、易用的全栈在线学习平台,结合AI技术提供个性化学习体验 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-05-15 - **Last Updated**: 2026-05-15 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # InsightEdu - 轻量智能学习平台 一个基于 FastAPI + 原生 JavaScript 构建的轻量智能在线学习平台,结合 AI 技术提供个性化学习体验。 --- ## ✨ 功能特性 ### 👤 用户系统 - 用户注册/登录 - 三种角色权限:学生、教师、管理员 - 个人中心管理 - JWT 无状态认证 ### 📚 课程系统 - 课程浏览与搜索 - 课程分类筛选 - 课程详情查看 - 课程报名学习 - 学习进度追踪 - 课程收藏功能 - 浏览历史记录 ### 🤖 AI智能助手 - AI问答交互 - Markdown格式支持 - 章节专属学习助手 - 清空历史记录 ### 🔧 管理后台 - 数据统计看板 - 用户管理(增删改查) - 课程管理(课程、章节、分类) - 权限控制 --- ## 🛠️ 技术栈 ### 前端技术栈 | 技术 | 用途 | |------|------| | HTML5 | 页面结构 | | CSS3 | 样式展示(含CSS变量、动画) | | JavaScript (ES6+) | 业务逻辑 | | Axios | HTTP请求库 | | LocalStorage | 本地存储(Token、用户信息) | ### 后端技术栈 | 技术 | 用途 | |------|------| | Python 3.11+ | 编程语言 | | FastAPI | Web框架 | | SQLAlchemy 2.0 | ORM框架(异步) | | aiomysql | MySQL异步驱动 | | PyJWT | JWT认证 | | httpx | HTTP客户端(调用AI服务) | | Dify | AI应用平台 | ### 数据库 - **MySQL 8.0+**:主数据库 --- ## 📁 项目结构 ``` 项目根目录/ ├── Education_frontend/ # 前端项目 │ ├── admin/ # 管理后台页面 │ │ ├── dashboard.html │ │ ├── course_manage.html │ │ └── user_manage.html │ ├── pages/ # 业务页面 │ │ ├── index.html # 首页 │ │ ├── login.html # 登录页 │ │ ├── register.html # 注册页 │ │ ├── course_list.html # 课程列表 │ │ ├── course_learn.html # 课程学习 │ │ ├── chapter_detail.html # 章节详情 │ │ ├── ai_chat.html # AI问答 │ │ ├── profile.html # 个人中心 │ │ ├── create_course.html # 创建课程 │ │ └── course_edit.html # 编辑课程 │ └── assets/ # 静态资源 │ ├── css/ # 样式文件 │ │ ├── global.css │ │ ├── style.css │ │ ├── course.css │ │ └── admin.css │ └── js/ # JavaScript文件 │ ├── config.js # 配置文件 │ ├── request.js # 请求封装 │ ├── auth.js # 认证相关 │ ├── utils.js # 工具函数 │ ├── api/ # API封装 │ │ ├── user.js │ │ ├── course.js │ │ ├── ai.js │ │ └── admin.js │ └── pages/ # 页面逻辑 │ ├── index.js │ ├── course_list.js │ ├── course_learn.js │ ├── ai_chat.js │ └── create_course.js │ └── Education_backend/ # 后端项目 ├── main.py # 主入口 ├── config/ # 配置文件 │ ├── db_conf.py # 数据库配置 │ ├── jwt_conf.py # JWT配置 │ └── ai_conf.py # AI配置 ├── models/ # 数据模型 │ ├── users.py │ ├── course.py │ ├── chapter.py │ ├── category.py │ ├── favorite.py │ └── history.py ├── schemas/ # Pydantic模式 ├── crud/ # 数据库操作 ├── routers/ # 路由 │ ├── users.py │ ├── course.py │ ├── chapter.py │ ├── category.py │ ├── ai.py │ ├── favorite.py │ ├── history.py │ └── admin/ # 管理员路由 ├── services/ # 业务服务 │ ├── dify_service_chat.py │ └── dify_service_workflow.py └── utils/ # 工具函数 ├── jwt_token.py ├── auth.py ├── permission.py ├── pagination.py └── security.py ``` --- ## 🚀 快速开始 ### 环境要求 - Python 3.11+ - MySQL 8.0+ - Node.js 18+(可选,用于开发调试) ### 后端安装与运行 ```bash # 进入后端目录 cd Education_backend # 安装依赖 pip install -r requirements.txt # 创建配置文件 cp config/db_conf.py.example config/db_conf.py cp config/jwt_conf.py.example config/jwt_conf.py cp config/ai_conf.py.example config/ai_conf.py # 配置数据库连接(修改 db_conf.py) # 配置 JWT 密钥(修改 jwt_conf.py) # 配置 Dify API(修改 ai_conf.py) # 启动服务 uvicorn main:app --host 0.0.0.0 --port 8000 --reload ``` ### 前端运行 ```bash # 进入前端目录 cd Education_frontend # 使用任意HTTP服务器启动(推荐) # 方式1:使用Python python -m http.server 8080 # 方式2:使用Node.js npx serve . -l 8080 ``` ### 访问地址 - **前端页面**: http://localhost:8080 - **后端API**: http://localhost:8000 - **API文档**: http://localhost:8000/docs --- ## 🔌 API 接口 ### 用户相关 | 方法 | 路径 | 描述 | |------|------|------| | POST | `/api/users/register` | 用户注册 | | POST | `/api/users/login` | 用户登录 | | GET | `/api/users/me` | 获取当前用户信息 | | PUT | `/api/users/me` | 更新用户信息 | | PUT | `/api/users/me/password` | 修改密码 | ### 课程相关 | 方法 | 路径 | 描述 | |------|------|------| | GET | `/api/courses` | 获取课程列表 | | GET | `/api/courses/hot` | 获取热门课程 | | GET | `/api/courses/{id}` | 获取课程详情 | | POST | `/api/courses` | 创建课程 | | PUT | `/api/courses/{id}` | 更新课程 | | DELETE | `/api/courses/{id}` | 删除课程 | ### 章节相关 | 方法 | 路径 | 描述 | |------|------|------| | GET | `/api/chapters/{course_id}` | 获取课程章节 | | GET | `/api/chapters/detail/{id}` | 获取章节详情 | | POST | `/api/chapters` | 创建章节 | | PUT | `/api/chapters/{id}` | 更新章节 | | DELETE | `/api/chapters/{id}` | 删除章节 | ### AI相关 | 方法 | 路径 | 描述 | |------|------|------| | POST | `/api/ai/chat` | AI问答 | | POST | `/api/ai/workflow` | 章节学习助手 | ### 收藏与历史 | 方法 | 路径 | 描述 | |------|------|------| | GET | `/api/favorites` | 获取收藏列表 | | POST | `/api/favorites` | 添加收藏 | | DELETE | `/api/favorites/{course_id}` | 删除收藏 | | GET | `/api/histories` | 获取浏览历史 | | POST | `/api/histories` | 添加浏览记录 | | DELETE | `/api/histories/{course_id}` | 删除浏览记录 | ### 管理员接口 | 方法 | 路径 | 描述 | |------|------|------| | GET | `/api/admin/dashboard/stats` | 统计数据 | | GET | `/api/admin/users` | 获取用户列表 | | PUT | `/api/admin/users/{id}` | 更新用户 | | DELETE | `/api/admin/users/{id}` | 删除用户 | | GET | `/api/admin/courses` | 获取课程列表(管理) | --- ## 📊 数据库设计 ### 用户表 (users) | 字段 | 类型 | 说明 | |------|------|------| | id | int | 主键 | | username | varchar(50) | 用户名(唯一) | | password_hash | varchar(255) | 密码哈希 | | email | varchar(100) | 邮箱 | | role | enum | 角色(student/teacher/admin) | | created_at | datetime | 创建时间 | | updated_at | datetime | 更新时间 | ### 课程表 (courses) | 字段 | 类型 | 说明 | |------|------|------| | id | int | 主键 | | title | varchar(200) | 课程标题 | | intro | text | 课程简介 | | cover | varchar(500) | 封面图片URL | | teacher_id | int | 教师ID | | category_id | int | 分类ID | | view_count | int | 浏览次数 | | favorite_count | int | 收藏次数 | | created_at | datetime | 创建时间 | | updated_at | datetime | 更新时间 | ### ER关系图 ```mermaid erDiagram User ||--o{ Course : creates User ||--o{ Favorite : has User ||--o{ History : browses Course ||--o{ Chapter : contains Course ||--o{ Favorite : is_favorited Course ||--o{ History : is_browsed Category ||--o{ Course : includes ``` --- ## 🎨 前端特性 ### 设计风格 - 现代化UI设计 - 渐变色彩主题 - 毛玻璃效果 - 平滑动画过渡 ### 交互功能 - 骨架屏加载 - 响应式布局 - 统一错误处理 - Token自动刷新 --- ## 🔐 安全特性 - JWT 无状态认证 - 密码哈希存储 - 权限控制中间件 - CORS跨域配置 - 统一异常处理 --- ## 📝 开发规范 ### 代码风格 - Python:遵循 PEP 8 规范 - JavaScript:使用 ES6+ 语法 - CSS:使用 CSS 变量 ### 提交规范 ``` feat: 新增功能 fix: 修复bug docs: 更新文档 style: 代码格式调整 refactor: 代码重构 test: 测试相关 ``` --- ## 📄 许可证 MIT License --- ## 🤝 贡献 欢迎提交 Issue 和 Pull Request! --- ## 📧 联系方式 如有问题或建议,欢迎交流! --- **项目名称**:InsightEdu 轻量智能学习平台 **技术方向**:全栈开发(Python FastAPI + 原生JavaScript) **主要功能**:在线学习 + AI智能助手