基于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年

相关推荐
丈剑走天涯12 分钟前
JDK 17 正式特性
java·开发语言
东方小月16 分钟前
从零开发一个 Coding Agent(四):使用状态机校验大模型事件流
前端·人工智能·后端
圣光SG26 分钟前
Java操作题练习(七)
java·开发语言·算法
都叫我大帅哥37 分钟前
“让AI修就行”?我劝你收回这句话——来自一位Java博主的硬核反常识
后端
MartinYeung51 小时前
[论文学习]迈向自主医疗人工智能智能体:MIRA系统深度分析
人工智能·学习
whyfail1 小时前
前端学 Spring Boot(8):接口为什么越用越慢?
前端·spring boot·后端
Muscleheng2 小时前
Spring Boot 3.x 集成 DeepSeek 实现 Function Calling(工具调用)
人工智能·spring boot·后端·ai·spring ai·deepseek
@航空母舰2 小时前
SpringBoot通过Map实现天然的策略模式
java·spring boot·后端
熊猫钓鱼>_>2 小时前
ArkTS 装饰器总览:V1 / V2 / 通用装饰器完整学习笔记
笔记·学习·华为·交互·harmonyos·arkts·arkweb