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

相关推荐
xcl09251 小时前
北京24小时自助健身房系统软件开发实战:从架构到部署全流程指南
java·spring boot·架构
一 乐3 小时前
动漫书销售商城|基于springboot + vue动漫书销售商城(源码+数据库+文档)
java·数据库·vue.js·spring boot·毕业设计
tiankongdeyige3 小时前
游戏战斗系统学习第2篇:有限状态机 (FSM)
学习·游戏·typescript
卓怡学长3 小时前
w214基于jsp知道特产网
java·intellij-idea
步行cgn3 小时前
Spring 注解使用详解
java·spring
一条小小yu4 小时前
Spring IoC的理解
java·后端·spring
落魄实习生4 小时前
Agent Scope Java 2.x 系列【7】工具使用
java·开发语言·ai
旺仔学长 哈哈4 小时前
springboot钓鱼爱好者交流平台APP设计与实现
java·spring boot·mysql·充电桩管理系统
茉莉玫瑰花茶5 小时前
GO [ 方法 ]
开发语言·后端·golang
Wx-bishekaifayuan5 小时前
django个性化旅游路线推荐平台49005-计算机课程设计、毕业设计
spring boot·后端·python·django·课程设计·express·旅游