1 Star 1 Fork 1

Endurancer/online_learning

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

一、项目概述

  1. 项目名称:在线学习平台
  2. 项目类型:基于Springboot + Vue的在线教育和资源共享平台(前后端分离)
  3. 目标用户
    • 管理员:负责平台整体运营和管理的人员。
    • 普通用户:使用平台进行课程学习、资源下载等操作的注册用户。
    • 会员用户:通过充值成为会员,享受更多优惠和服务的高级用户。
  4. 功能模块
    • 用户注册/登录
    • 管理员后台管理系统
    • 课程信息管理与推荐
    • 积分专区管理与推荐
    • 在线资源上传与审核
    • 课程订单管理
    • 资料下载管理
    • 积分兑换课程管理
    • 首页统计
    • 管理员信息管理
    • 用户信息管理
    • 系统公告管理
    • 用户首页签到
    • 用户查看课程信息
    • 用户查看在线资源
    • 用户全部课程浏览
    • 用户积分专区浏览
    • 用户海量资源浏览
    • 用户个人资料发布与管理
    • 用户已购课程查看
    • 用户我的兑换查看
    • 用户历史下载查看
    • 用户模拟充值
    • 用户课程详情查看与评论

二、环境搭建

1. 开发工具

  • 后端
    • IntelliJ IDEA 或其他支持Java开发的IDE(如Eclipse):用于编写和调试后端代码。
  • 前端
    • Visual Studio Code (VS Code):轻量级且功能强大的文本编辑器,适合前端开发,提供了丰富的插件支持
  • 数据库设计与管理
    • Navicat Premium:可视化工具,用于设计和管理MySQL数据库,简化数据库操作。

2. 开发环境

  • JDK
    • 版本要求:1.8
    • 安装说明:确保正确安装并配置JAVA_HOME环境变量,以便命令行和其他工具能够识别JDK。
  • Node.js
    • 版本要求:16.0+
    • 安装说明:通过官方提供的安装包进行安装,并确保npm(Node.js的包管理工具)也一并安装,方便后续安装前端依赖。
  • Maven
    • 版本要求:3.8+
    • 安装说明:Maven是Java项目的构建工具,负责管理项目依赖和执行构建生命周期任务。确保MAVEN_HOME环境变量已设置,并将bin目录添加到系统路径中。

3. 数据库环境

  • MySQL
    • 版本要求:5.7或8.0
    • 安装说明:根据操作系统选择合适的MySQL安装包,并完成安装。配置数据库连接参数,确保应用程序可以正常访问数据库。

4. 第三方中间件及工具

  • Redis:用于缓存数据,如验证码、用户会话信息、评论信息等。
  • Nginx:作为反向代理服务器,分发请求至不同的后端服务;同时也可以用于负载均衡和静态资源的托管。
  • Git:版本控制系统,用于代码管理和协作开发。

三、项目结构

1. 后端项目结构

  • src/main/java:存放Java源代码,细分为以下子包:
    • controller:包含所有RESTful API控制器类,负责处理HTTP请求。
    • service:实现业务逻辑的服务层接口和实现类。
    • mapper:定义与数据库交互的持久层接口(MyBatis Mapper)。
    • entity:存放实体类,对应数据库中的表结构。
    • dto:数据传输对象,用于封装API请求和响应的数据。
    • vo:视图对象,专门用于前端展示的数据模型。
    • exception:自定义异常类及其处理器。
    • utils:工具类,提供通用的功能方法,如日期格式化、字符串处理等。
  • src/main/resources:存放非Java资源文件,包括但不限于:
    • application.propertiesapplication.yml:Spring Boot应用配置文件。
    • mapper.xml:MyBatis SQL映射文件。
    • 其他静态资源或模板文件(如邮件模板)。
  • src/test/java:存放单元测试和集成测试代码,确保各个组件的功能正确性。

2. 前端项目结构

  • src/assets:存放静态资源,如图片、图标、样式文件(CSS/SCSS)等。
  • src/components:存放可复用的Vue组件,这些组件可以在不同的页面中使用,提高代码的复用性和开发效率。
  • src/router:存放路由配置文件,定义了应用的所有路由规则以及它们对应的组件。
  • src/store:存放Vuex状态管理的相关文件,包括状态、突变、动作等,以集中管理和共享全局状态。
  • src/views:存放页面级组件,每个页面通常对应一个独立的Vue组件,包含了页面特有的逻辑和布局。
  • src/api:存放与后端交互的API请求相关代码,通过Axios库发送HTTP请求并与后端通信。
  • src/utils:存放前端工具类代码,提供辅助函数或常量定义,帮助简化开发过程。
  • src/App.vue:应用的根组件,是整个应用的入口点,包含了主模板和全局配置。
  • src/main.js:应用的入口文件,负责初始化Vue实例并挂载到DOM元素上,同时引入全局插件和其他必要的设置。

四、项目创新

1. 富文本编辑器的使用

  • 创新描述:支持课程详细介绍的富文本编辑,包括格式调整和内部图片上传,丰富课程内容的表现形式。
  • 技术实现
    • 使用富文本编辑器(如Quill或Tinymce),允许管理员编辑图文并茂的课程介绍。
    • 实现富文本内的图片上传功能,直接在编辑器内上传并插入图片。

2. 用户签到功能

  • 创新描述:用户每日签到可领取积分,积分可用于兑换积分专区的课程或下载资源。
  • 技术实现
    • 设计签到逻辑,记录用户的签到情况,并给予相应的积分奖励。
    • 提供连续签到奖励机制,鼓励用户持续参与。

3. 前台首页仿网易云课堂

  • 创新描述:前台首页设计模仿网易云课堂,页面精致美观,提升用户体验。
  • 技术实现
    • 采用相似的UI设计风格,结合ElementUI组件库实现界面布局。
    • 优化前端性能,确保页面加载速度快,用户体验流畅。

4. 课程内容的访问限制

  • 创新描述:根据用户是否付费或积分兑换来控制课程内容的显示,保护版权内容。
  • 技术实现
    • 对于未付费或未兑换的课程,仅显示课程简介,付费或兑换后才开放完整内容。
    • 结合用户身份验证机制,确保只有合法用户能访问特定内容。

5. ECharts数据统计

  • 创新描述:利用ECharts图表库进行数据可视化,帮助管理员分析平台资源。
  • 技术实现
    • 在管理员后台集成ECharts图表库,动态展示不同类型课程的收益对比、会员占比、课程数量等关键指标。
    • 支持多维度数据分析,如时间、类别等,提供更深入的洞察。

6. 复杂的多维度分类设计

  • 创新描述:课程分为图文课和视频课,再细分为付费课和公开课,不同身份的用户享受不同的价格策略。
  • 技术实现
    • 构建多层级分类体系,支持灵活筛选和排序,满足用户多样化的需求。
    • 根据用户的身份(普通用户或会员用户),动态调整课程价格,提供个性化服务。

7. 二级身份的设计

  • 创新描述:区分普通用户和会员用户,后者享有更多优惠和服务。
  • 技术实现
    • 定义两种用户角色,分别设置不同的权限和优惠策略。
    • 通过模拟充值功能,用户一次性充值满一定金额即可升级为会员。

8. 支持视频在线播放、下载

  • 创新描述:平台支持视频课程的在线播放和下载,方便用户随时随地学习。
  • 技术实现
    • 集成视频播放器,确保视频流的稳定传输和播放质量。
    • 提供安全可靠的下载链接,保证视频文件的合法性。

五、功能模块实现

管理员功能

  1. 登录、个人信息、修改密码
    • 实现管理员登录、个人信息查看和修改密码功能。
  2. 管理后台管理系统所有数据
    • 统一管理平台的所有数据,包括但不限于课程、用户、订单等。
  3. 课程信息管理
    • 管理平台的所有课程信息,支持封面图片上传、视频上传、富文本编辑,区分付费和公开课程,会员用户享受折扣价。
  4. 课程信息推荐
    • 将特定课程手动推荐到首页大图位置,重点展示。
  5. 积分专区管理
    • 管理积分专区的课程,支持封面图片上传、视频上传、富文本编辑,用户需使用积分兑换。
  6. 积分专区推荐
    • 将积分专区的特定课程手动推荐到首页大图位置,重点展示。
  7. 在线资源管理
    • 审核用户上传的资料,设置积分,审核通过后展示在前台。
  8. 课程订单管理
    • 管理用户购买课程的订单信息。
  9. 资料下载管理
    • 管理用户通过积分下载的资料信息。
  10. 积分兑课管理
    • 管理用户通过积分兑换的课程信息。
  11. 首页统计
    • 查看平台不同类型课程的收益对比、会员占比、课程数量、积分专区课程数量、资料总数占比等统计数据。
  12. 管理员信息管理
    • 管理管理员的信息,分配不同级别的权限。
  13. 用户信息管理
    • 管理平台用户信息,保障平台的安全运行。
  14. 系统公告管理
    • 发布和管理系统公告,及时传达重要信息给用户。

用户功能

  1. 注册、登录、个人信息、修改密码
    • 实现用户注册、登录、个人信息查看和修改密码功能。
  2. 首页签到
    • 用户每日签到可领取积分,积分可用于兑换积分专区的课程或下载资源。
  3. 首页查看课程信息
    • 用户可以通过切换标签查看平台所有课程,分为视频课程、图文课程和积分专区,支持点击进入对应课程详情页。
  4. 首页查看在线资源
    • 用户可以查看目前平台里的一些可下载的资源,支持点击进入对应资源详情页。
  5. 全部课程浏览
    • 分页查看平台所有的课程(包括图文课和视频课),支持搜索。
  6. 积分专区浏览
    • 分页查看平台所有可用积分兑换的课程(包括图文课和视频课),支持搜索。
  7. 海量资源浏览
    • 分页查看平台用户上传的所有资源,支持搜索,使用积分下载所需资源。
  8. 个人资料发布与管理
    • 用户可以发布自己的资料,设置所需的积分,管理员审核通过后展示出来,其他用户下载资料后,发布者获取相应积分。
  9. 已购课程查看
    • 查看自己购买过的课程信息,统一查看,方便进入。
  10. 我的兑换查看
    • 查看自己使用积分兑换的所有课程信息,统一查看,方便进入。
  11. 历史下载查看
    • 查看自己使用积分获取的所有资源信息,统一查看,方便进入。
  12. 模拟充值
    • 用户可以在个人中心模拟充值,一次性充值满500,自动成为会员用户,享受课程折扣。
  13. 课程详情查看
    • 查看课程详情信息,未付费或未兑换的课程只能看到介绍,购买或兑换后方可查看核心内容。
  14. 课程评论
    • 用户可以在课程详情页下方对课程发表看法和评论。

输入图片说明 输入图片说明 输入图片说明 输入图片说明 输入图片说明 输入图片说明 输入图片说明 输入图片说明

空文件

简介

取消

发行版

暂无发行版

贡献者 (2)

全部

近期动态

8个月前推送了新的提交到 master 分支,32e1441...fb5960d
8个月前推送了新的提交到 master 分支,0360b05...32e1441
8个月前推送了新的提交到 master 分支,08b65e8...0360b05
8个月前推送了新的提交到 master 分支,c436461...08b65e8
8个月前推送了新的提交到 master 分支,37298b5...c436461
加载更多
不能加载更多了
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/Endurancer_Program/online_learning.git
git@gitee.com:Endurancer_Program/online_learning.git
Endurancer_Program
online_learning
online_learning
master

搜索帮助