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

相关推荐
likerhood6 小时前
java中的return this、链式编程和Builder模式
java·开发语言
spring2997926 小时前
Spring Boot 实战篇(四):实现用户登录与注册功能
java·spring boot·后端
talen_hx2966 小时前
《零基础入门Spark》学习笔记 Day 17
大数据·笔记·学习·spark
北山有鸟6 小时前
Linux第一宏:container_of
笔记·嵌入式硬件·学习
炽烈小老头6 小时前
【 每天学习一点算法 2026/04/21】螺旋矩阵
学习·算法
未来转换6 小时前
基于A2A协议的生产应用实践指南(Java)
java·开发语言·算法·agent
Rust语言中文社区6 小时前
【Rust日报】Clone:像进程一样 fork 虚拟机的 Rust KVM VMM
开发语言·后端·rust
uzong6 小时前
架构师的必修课:分布式系统发布理论设计要点
后端·架构
后端漫漫6 小时前
Redis 配置文件与服务功能
java·redis
Dwzun6 小时前
基于Java+SpringBoot+Vue的校园二手物品置换系统设计与实现【附源码+文档+部署视频+讲解】
java·开发语言·spring boot