Skip to content

YoLin02/AI----

Repository files navigation

AI 教育平台

AI 教育平台是一个面向教学场景的全栈项目,包含教师管理后台、学生 Web 端、Spring Boot 后端、MySQL/Redis/MinIO 基础设施,以及围绕教学与学习场景的 AI 能力。

当前仓库已经形成可运行的双端结构:

  • 教师端后台:课程、题库、作业、系统管理、AI 管理
  • 学生端 Web:课程学习、作业查看、答疑与错题、AI 对话、学习路线、知识脑图
  • 后端服务:统一认证、教育业务、文件服务、AI 调用、学生聚合接口

1. 项目结构

AI教育系统/
├─ src/                         # Spring Boot 后端源码
│  └─ main/
│     ├─ java/com/aiedu/platform
│     │  ├─ security            # 登录、注册、忘记密码、权限
│     │  ├─ system              # 用户、角色、菜单、日志、参数
│     │  ├─ education           # 学校、专业、课程、章节、题目、作业、错题
│     │  ├─ ai                  # 模型配置、Prompt、AI 对话、文档批阅、教师工具
│     │  ├─ file                # OSS / MinIO 文件管理
│     │  └─ monitor             # 健康检查、运行指标
│     └─ resources/
│        ├─ application*.yml    # 环境配置
│        └─ db/                 # MySQL / H2 初始化脚本
├─ ui/                          # 教师端管理后台(Vite + React)
├─ student-ui/                  # 学生端 Web(Vite + React)
├─ deploy/sql/                  # 部署与补丁 SQL
├─ docker-compose.yml           # MySQL / Redis / MinIO 本地依赖
├─ pom.xml                      # 后端 Maven 配置
└─ README.md

2. 技术栈

后端

  • Java 17
  • Spring Boot 3.5.x
  • MyBatis-Plus
  • Sa-Token
  • Spring Validation
  • Spring Data Redis
  • Knife4j / OpenAPI
  • Apache POI
  • PDFBox
  • MinIO Java SDK
  • LangChain4j

前端

  • React 19
  • TypeScript
  • Vite 6
  • React Router
  • Axios
  • Zustand
  • Tailwind CSS 4
  • Lucide React
  • Recharts
  • Markmap

基础设施

  • MySQL 8.4
  • Redis 7.4
  • MinIO
  • Docker Compose

3. 系统架构

教师端后台

教师端是运营与教学管理入口,核心能力包括:

  • 系统管理:用户、角色、菜单、部门、字典、参数、日志
  • 教育基础:学校、学院、专业、教师、学生、班级、课程
  • 教学业务:章节、知识点、题库、作业、答题、错题
  • AI 管理:
    • 模型配置
    • Prompt 模板
    • AI 对话
    • 文档批阅
    • 知识脑图
    • 生成练习
    • 教学素材
    • 项目生成

学生端 Web

学生端是学习入口,当前已具备:

  • 登录
  • 学习首页
  • 我的课程
  • 我的作业
  • 答疑与错题
  • AI 对话
  • 代码运行
  • 学习路线
  • 知识脑图
  • 个人中心

后端服务层

后端对外提供三类核心接口:

  • 管理后台接口:/api/auth/**/api/system/**/api/education/**/api/ai/**
  • 学生聚合接口:/api/student/**
  • 公共接口:/api/public/**

4. 当前核心功能

4.1 统一认证

  • 账号登录
  • 注册
  • 忘记密码
  • 基于角色的菜单和接口权限控制

4.2 文档批阅

  • 支持教师上传标准答案卷和学生答卷
  • 后台异步批阅
  • 支持图片 OCR 补偿
  • 支持横向填空题结构化识别
  • 支持人工改分、编辑扣分项、确认最终分

4.3 教师 AI 工具

  • 知识脑图:生成课程主题脑图
  • 生成练习:根据课程和章节生成练习
  • 教学素材:生成课堂讲解材料
  • 项目生成:生成教学项目骨架与 README

4.4 学生 AI 学习功能

  • 文本对话
  • 拍照/上传答疑
  • 答疑结果加入错题本
  • AI 学习路线生成
  • 学生侧知识脑图生成
  • 代码运行与 AI 分析

5. 本地开发与启动

5.1 启动依赖服务

在项目根目录执行:

docker compose up -d

默认容器与端口:

  • MySQL:localhost:3306
  • Redis:localhost:6379
  • MinIO API:http://localhost:9000
  • MinIO Console:http://localhost:9001

当前 docker-compose.yml 默认账号:

  • MySQL root:1234
  • MySQL 业务库用户:aiedu / aiedu123
  • MinIO:admin / Admin@123456

5.2 启动后端

.\mvnw.cmd spring-boot:run "-Dspring-boot.run.profiles=local"

后端默认地址:

  • 应用:http://localhost:8080
  • API 文档:http://localhost:8080/doc.html
  • 运行指标:http://localhost:8080/api/public/runtime-metrics

说明:

  • local 环境当前默认接 MySQL,不再使用 H2 作为主运行方式
  • application-local.yml 会自动执行 MySQL 初始化脚本

5.3 启动教师端后台

cd ui
npm install
npm run dev

访问地址:

  • http://localhost:3000

5.4 启动学生端 Web

cd student-ui
npm install
npm run dev

访问地址:

  • http://localhost:3001

6. 默认测试账号

教师/管理端

  • 管理员:admin / 123456
  • 教师:teacher / 123456

学生端

  • 学生:student / 123456

新增账号说明

  • 注册页默认创建教师角色账号
  • 忘记密码通过“用户名 + 注册邮箱”直接重置密码

7. 配置说明

数据库

application-local.yml 默认配置:

  • DB_URL
  • DB_USERNAME
  • DB_PASSWORD

Redis

  • REDIS_HOST
  • REDIS_PORT
  • REDIS_DATABASE
  • REDIS_PASSWORD

MinIO

  • MINIO_ENDPOINT
  • MINIO_ACCESS_KEY
  • MINIO_SECRET_KEY
  • MINIO_BUCKET

AI 配置

  • DASHSCOPE_API_KEY
  • AI_VISION_MODEL_CODE

建议在本地或服务器环境中通过环境变量覆盖,不要把生产密钥写入配置文件。

8. 数据库初始化与补丁

初始化脚本位于:

  • src/main/resources/db/schema-mysql.sql
  • src/main/resources/db/data-mysql.sql

部署补丁位于:

  • deploy/sql/init-ai-edu-platform.sql
  • deploy/sql/phase2_increment.sql
  • deploy/sql/sync-menu-permissions.sql
  • deploy/sql/fix-garbled-demo-data.sql

如果你是新环境,优先使用应用启动时的自动初始化;如果是已有环境升级,再按 deploy/sql/ 的补丁顺序执行。

9. 部署建议

开发环境

  • MySQL / Redis / MinIO 使用 Docker Compose
  • 后端使用 spring-boot:run
  • 教师端和学生端使用 Vite dev server

测试 / 生产环境

  • 后端打包:
.\mvnw.cmd clean package -DskipTests
  • 生成产物:

    • target/ai-edu-platform-0.0.1-SNAPSHOT.jar
  • 前端建议分别构建后交给 Nginx 托管:

cd ui
npm run build

cd ../student-ui
npm run build

建议部署形态:

  • Nginx
    • / -> 教师端后台静态资源
    • /student/ -> 学生端静态资源
    • /api/ -> 反向代理后端 8080
  • Spring Boot 单独进程
  • MySQL / Redis / MinIO 独立服务

10. 业务模块说明

系统模块

  • 用户管理
  • 角色管理
  • 菜单管理
  • 部门管理
  • 字典管理
  • 参数配置
  • 登录日志
  • 操作日志

教育模块

  • 教育基础:学校、学院、专业、教师、学生、班级、课程
  • 教学业务:章节、知识点、题库、作业、答题、错题

AI 模块

  • 模型配置
  • Prompt 模板
  • AI 对话
  • 文档批阅
  • AI 生成记录
  • 教师 AI 工具
  • 学生 AI 能力

文件模块

  • OSS 文件
  • 教学资源文件

11. 当前仓库清理规则

以下目录或文件属于本地构建/测试产物,不应提交到版本库:

  • target/
  • logs/
  • temp/
  • ui/dist/
  • student-ui/dist/
  • ui/node_modules/
  • student-ui/node_modules/

相关规则已写入 .gitignore

12. 开发文档

仓库中保留了以下设计文档,便于继续扩展:

  • AI教育平台系统开发文档_v1_0.md
  • ai教育平台后端系统设计文档_v_0_1.md
  • 学生端Web设计文档_v1_0.md

如果继续迭代,建议优先保持:

  • README 与实际运行方式一致
  • 数据库补丁与代码版本一致
  • 教师端、学生端、后端接口文档同步更新

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages