项目简介
本系统基于SpringBoot 的英语自主学习平台,提供英语学习资源与自主学习环境。系统支持文章发布、教学视频学习、互动评论、个性化推荐等功能,管理员可对文章与用户进行统一管理,实现从内容创作到学习互动的完整闭环。
核心功能
用户端
- 用户管理:注册、登录、个人资料、关注
- 内容发布:文章发布(Markdown)、教学链接、封面、视频;分类、标签、摘要;编辑、删除
- 互动:评论、点赞、分享
- 推荐:基于浏览历史与兴趣的个性化推荐
- 学习:首页直接点击学习链接跳转、视频弹窗播放
管理端
- 数据概览:ECharts 可视化(饼图、柱状图、环形图)
- 文章管理:审核、推荐、教学链接/视频/封面编辑
- 用户管理:用户列表与状态管理
技术栈
| 层级 | 技术 | 说明 |
|---|---|---|
| 后端 | Java 8 | 开发语言 |
| 后端 | Spring Boot 2.1.6 | Web 框架 |
| 后端 | MyBatis | 持久层 |
| 后端 | MySQL 8.0 | 数据库 |
| 后端 | JWT | 认证 |
| 前端 | Vue 2.5 | 框架 |
| 前端 | Vue Router | 路由 |
| 前端 | Vuex | 状态管理 |
| 前端 | Element UI | 组件库 |
| 前端 | ECharts 5.4 | 图表 |
| 前端 | Mavon Editor | Markdown 编辑器 |
| 前端 | Axios | HTTP 请求 |
项目结构
c87/
├── frontend/ # 前端
│ ├── src/
│ │ ├── api/ # 接口封装
│ │ ├── router/ # 路由
│ │ ├── store/ # Vuex
│ │ ├── utils/ # 工具
│ │ └── views/ # 页面
│ │ ├── admin/ # 管理后台
│ │ ├── article/ # 文章
│ │ └── user/ # 用户
│ └──package.json
├── src/main/java/ # 后端
│ └── com/michaeljay/english/
│ ├── common/ # 通用类
│ ├── config/ # 配置
│ ├── controller/ # 控制器
│ ├── entity/ # 实体
│ ├── interceptor/ # 拦截器
│ ├── mapper/ # MyBatis
│ ├── service/ # 服务
│ └── util/ # 工具
├── src/main/resources/
│ ├── mapper/ # MyBatis XML
│ └── application.yml
├── database/
│ ├── schema.sql # 建表脚本
│ └── upgrade_v1_teaching_video.sql
└── README.md
数据库设计
表结构
| 表名 | 说明 | 主要字段 |
|---|---|---|
| user | 用户表 | user_id, username, password, nickname, role, status |
| article | 文章表 | article_id, user_id, title, content, cover_image, teaching_link, video_url, category, audit_status |
| comment | 评论表 | comment_id, article_id, user_id, content, parent_id |
| article_like | 文章点赞表 | like_id, article_id, user_id |
| comment_like | 评论点赞表 | like_id, comment_id, user_id |
| user_follow | 用户关注表 | follow_id, user_id, follow_user_id |
| browse_history | 浏览历史表 | history_id, user_id, article_id |
| user_interest | 用户兴趣表 | interest_id, user_id, category |
| notification | 通知表 | notification_id, user_id, type, content |
数据库初始化
mysql -u root -p < database/schema.sql
若已有数据库升级:
mysql -u root -p < database/upgrade_v1_teaching_video.sql
配置 src/main/resources/application.yml 中的数据库连接信息。
安装与运行
环境要求
- JDK 1.8+
- Node.js 6+
- MySQL 8.0+
- Maven 3.6+
后端
mvn clean install
mvn spring-boot:run
后端地址:http://localhost:8080,API 前缀 /api
前端
cd frontend
npm install
npm run dev
生产构建:npm run build
默认账号
| 角色 | 账号 | 密码 |
|---|---|---|
| 管理员 | admin | 123 |
| 测试用户 | user001 | 123 |
文件上传
- 图片:jpg、png 等,单文件 ≤ 2MB
- 视频:MP4、WebM、OGG、MOV 等,单文件 ≤ 100MB
- 存储目录:
upload
开发作者
- 作者:Michael-Jay
- 联系方式:定制联系 vx: Jay8059
- 日期:2026年










