在线教育网站项目

本文详细介绍了在线教育网站项目的实现,包括系统架构、开发环境和技术栈。项目分为前台网站和后台运营平台,涉及讲师管理、课程分类、课程管理、统计分析、订单管理等多个模块。前端采用Vue.js,后端使用Java Spring Boot,数据库为MySQL。同时,文章讨论了跨域问题的解决方案、阿里云OSS文件上传、Nuxt.js服务端渲染技术,以及用户登录注册等功能的实现。
摘要由CSDN通过智能技术生成

在线教育网站项目

一、项目简介:

在线教育项目采用的是B2C的商业模块,主要分为前台网站系统和后台运营平台。
角色分为管理员和(普通会员)用户,其中系统后台由管理员进行使用,系统前台由用户进行使用。
系统后台包含的模块主要有:
1、讲师管理模块
2、课程分类管理功能
3、课程管理功能
(1)视频
4、统计分析模块
5、订单管理
6、banner管理、等等
系统前台包含的模块主要有:
1、首页数据的显示
2、讲师列表和详情
3、课程列表和课程详情
(1)视频在线播放
4、登录和注册功能、等等

二、开发环境

(一)、开发环境

	Windows+JDK1.8+Idea+vscode+linux+mysql+maven+spring boot

(二)、在线教育项目技术栈

	后端技术架构:SpringBoot + SpringCloud + MyBatis-Plus +  MySQL + Maven+EasyExcel+ nginx
	
	前端的架构是:Vue+element-ui+Node.js + ECharts

	其他涉及到的技术:包括Redis、阿里云OSS、阿里云视频点播
	业务中使用了ECharts做图表展示,使用EasyExcel完成分类批量添加、注册分布式单点登录使用了JWT

(三)、开发时间

		2020.6

三、项目模块实现

项目结构:
创建父工程 其类型为pom类型,用于管理依赖版本和放公共依赖
下面为子模块和子子模块,其中子子模块为功能实现模块
在这里插入图片描述
配置文件: application.properties

# 服务端口
server.port=8001
# 服务名
spring.application.name=service-edu

# 环境设置:dev、test、prod
spring.profiles.active=dev

# mysql数据库连接
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/guli?serverTimezone=GMT%2B8
spring.datasource.username=root
spring.datasource.password=123456


#返回json的全局时间格式
spring.jackson.date-format=yyyy-MM-dd HH:mm:ss
spring.jackson.time-zone=GMT+8

#注册中心nacos
spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848
#开启熔断机制配置
feign.hystrix.enabled=true
#mybatis日志
mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl

#配置mapper xml文件的路径
mybatis-plus.mapper-locations=classpath:com/gt/eduservice/mapper/xml/*.xml

springboot启动类

package com.gt.eduservice;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.openfeign.EnableFeignClients;
import org.springframework.context.annotation.ComponentScan;

@SpringBootApplication
@ComponentScan(basePackages = {
   "com.gt"})
@EnableDiscoveryClient  //注册中心
@EnableFeignClients //调用服务
/*@MapperScan("com.gt.eduservice.mapper")*/
public class eduApplication {
   
    public static void main(String[] args) {
   
        SpringApplication.run(eduApplication.class,args);
    }
}

配置swagger2

	*前后端分离开发模式中,api文档是最好的沟通方式。
	Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。*

1、在父工程下创建子模块common,再commom的pom文件中引入,lombok,swagger,
mybatis-plus等依赖
具体以来如下:

<!--mybatis-plus-->

        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <scope>provided </scope>
        </dependency>

        <!--lombok用来简化实体类:需要安装lombok插件-->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <scope>provided </scope>
        </dependency>

        <!--swagger-->

        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger2</artifactId>
            <scope>provided </scope>
        </dependency>

        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger-ui</artifactId>
            <scope>provided </scope>
        </dependency>

2、在子模块common下创建子子模块service_base,并在子子模块service_base中创建swagger的配置类。
在这里插入图片描述
代码如下:

package com.gt.servicebase;


import com.google.common.base.Predicates;
import org.springframework.context.annotation.Bean;
import org
  • 8
    点赞
  • 67
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值