基于SpringBoot的英语自主学习系统

项目简介

本系统基于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

前端地址:http://localhost:8081

生产构建:npm run build


默认账号

角色 账号 密码
管理员 admin 123
测试用户 user001 123

文件上传

  • 图片:jpg、png 等,单文件 ≤ 2MB
  • 视频:MP4、WebM、OGG、MOV 等,单文件 ≤ 100MB
  • 存储目录:upload

开发作者

  • 作者:Michael-Jay
  • 联系方式:定制联系 vx: Jay8059
  • 日期:2026年

相关推荐
薛先生_0991 天前
js学习语法第一天
开发语言·javascript·学习
jessecyj1 天前
Spring boot整合quartz方法
java·前端·spring boot
苦瓜小生1 天前
【前端】|【js手撕】经典高频面试题:手写实现function.call、apply、bind
java·前端·javascript
NGC_66111 天前
Java 线程池:execute () 和 submit () 到底有什么区别?
java
cngm1101 天前
解决麒麟v10下tomcat无法自动启动的问题
java·tomcat
色空大师1 天前
【网站搭建实操(一)环境部署】
java·linux·数据库·mysql·网站搭建
客卿1231 天前
牛客刷题--找数字-- 字符串检测-字符串 双指针
java·开发语言
二进制person1 天前
JavaEE进阶 --Spring Framework、Spring Boot和Spring Web MVC(2)
spring boot·spring·java-ee
烛之武1 天前
SpringBoot基础
java·spring boot·后端
橙序员小站1 天前
Harness Engineering:从 OpenClaw 看 AI 助理的基础设施建设
后端·aigc·openai