一、项目简介
初中英语自主学习系统是一套面向初中生的前后端分离学习平台。后端采用 Spring Boot、MyBatis、MySQL 与 JWT,前端采用 Vue、Element UI、ECharts 和 Mavon Editor;系统将英语学习文章、教学视频、内容创作、评论点赞、关注和个性化推荐整合在同一平台中。
项目实际包含认证、文章、评论、点赞、关注、推荐、上传、用户和后台管理控制器;前端包含首页、文章详情、创建与编辑文章、我的文章、个人中心,以及管理员数据看板、文章审核和用户管理页面。
二、系统功能
1.1 学生端功能
注册登录与个人资料
学生可注册和登录平台,系统使用 JWT 对需要身份验证的接口进行访问控制。登录后,学生可在个人中心维护头像、昵称等资料,并查看与自己相关的文章、关注和互动内容。
学习文章与教学视频浏览
首页展示学习文章、分类、标签和推荐内容。学生可进入文章详情阅读内容,并通过文章中的教学链接或视频资源进行自主学习,满足文章阅读和视频辅助学习两类场景。
文章创作、编辑与我的文章
学生可使用 Markdown 编辑器创建学习文章,设置标题、摘要、分类、标签、封面、教学链接或视频等信息。文章发布后可在“我的文章”中查看、编辑或删除个人内容;编辑页面和创建页面分别对应前端 Edit.vue、Create.vue。
评论、点赞与关注互动
学生可在文章详情发表评论、进行点赞,并关注感兴趣的用户或内容。评论、点赞和关注由独立控制器处理,互动结果会在文章详情和个人相关页面展示。
个性化内容推荐
推荐模块根据学生的浏览、点赞、关注等行为,以及文章分类、标签等内容特征生成推荐结果,帮助学生在平台中发现更符合兴趣的英语学习资源。
1.2 管理员端功能
数据看板
管理员可通过 Dashboard.vue 查看平台用户、文章及互动相关统计信息,ECharts 用于可视化展示后台运营数据。
文章审核与推荐管理
管理员可在 ArticleAudit.vue 中查看文章,处理审核状态,并维护文章的推荐展示、教学链接、视频和封面等内容,保证学习资源质量和前台展示效果。
用户管理
管理员可通过 UserManage.vue 查询用户并维护账号状态。AdminController 和 UserController 分别支撑后台管理和用户资料业务。
三、技术栈
| 层级 | 技术 | 说明 |
|---|---|---|
| 后端 | Java 8、Spring Boot 2.1.6 | Web 服务和业务接口 |
| 数据访问 | MyBatis、MySQL 8.0 | 用户、文章、互动和学习内容数据存储 |
| 身份认证 | JWT | 登录令牌与接口鉴权 |
| 前端 | Vue 2、Vue Router、Vuex、Element UI、Axios | 页面、路由、状态和接口调用 |
| 内容编辑 | Mavon Editor | Markdown 文章编辑 |
| 数据可视化 | ECharts 5.4 | 管理端统计图表 |
四、项目结构
c87/
├── src/main/java/
│ └── controller/
│ ├── AuthController.java # 注册、登录与认证
│ ├── ArticleController.java # 文章业务
│ ├── CommentController.java # 评论业务
│ ├── LikeController.java # 点赞业务
│ ├── FollowController.java # 关注业务
│ ├── RecommendController.java # 推荐业务
│ ├── UploadController.java # 文件上传
│ ├── UserController.java # 用户资料
│ └── AdminController.java # 后台管理
├── frontend/src/
│ ├── views/ # 首页、文章、个人中心页面
│ └── views/admin/ # 看板、审核和用户管理页面
├── database/
│ ├── schema.sql # 基础建表脚本
│ └── upgrade_v1_teaching_video.sql # 教学视频功能升级脚本
└── README.md
五、环境要求
- JDK 8
- Maven 3.6+
- MySQL 8.0
- Node.js 12+
- npm
六、数据库初始化
先执行 database/schema.sql 创建基础表和初始化数据;如需启用教学视频相关字段或功能,再执行 database/upgrade_v1_teaching_video.sql。导入后按本机环境修改数据源配置。
mysql -u root -p --default-character-set=utf8mb4 < database/schema.sql
mysql -u root -p --default-character-set=utf8mb4 < database/upgrade_v1_teaching_video.sql
七、后端启动
mvn spring-boot:run
八、前端启动
cd frontend
npm install
npm run serve
九、默认账号
项目未提供可确认的默认账号,请以数据库脚本中的初始化数据为准。
十、业务流程说明
9.1 学习内容发布与审核流程
学生登录后通过创建文章页面编写 Markdown 内容,补充分类、标签、封面及教学链接或视频等资料并提交。文章进入平台内容管理流程后,管理员在后台审核页面查看内容,调整审核或推荐状态。
审核后的内容在用户端首页和文章列表中展示;作者仍可在“我的文章”中维护本人内容,管理员可根据运营需要调整展示与推荐信息。
9.2 学习互动与推荐流程
学生阅读文章或观看教学资源时可发表评论、点赞或关注作者。系统保存互动记录,推荐模块结合用户兴趣和文章特征生成后续学习内容推荐,使内容浏览、互动和推荐形成连续学习流程。
十一、交付内容
- 项目完整源码,包含 Spring Boot 后端与 Vue 前端代码。
- 数据库脚本文件
schema.sql与教学视频升级脚本。 - 项目说明文档,包含功能说明、运行环境、初始化和启动步骤。
本项目为个人原创,结构清晰,功能完整,适合课程设计、毕业设计和个人学习使用。如需购买项目成品或定制化需求可以联系作者。