# GuLiEdu **Repository Path**: ZhuHJay/GuLiEdu ## Basic Information - **Project Name**: GuLiEdu - **Description**: 谷粒学院的学习项目 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2022-09-13 - **Last Updated**: 2022-09-14 ## Categories & Tags **Categories**: Uncategorized **Tags**: SpringBoot, SpringCloud, MybatisPlus, Vue, Nuxt ## README ## 项目目录结构 ```text |-- Notes // 笔记文件夹,记录学习到的一些小知识 |-- backend // 后端,微服务架构 | |-- canal_clent // canal数据库同步工具(没有测试成功,就不做介绍了) | |-- common // 公共组件 | | |-- common-utils // 提供一些共有的工具类 | | |-- service-base // 提供一些全局配置,全局异常处理、Swagger等 | | `-- spring_security // spring_security 相关配置,登录拦截器等等 | |-- pom.xml // 父工程管理依赖pom | |-- infrastructure | | |-- api_gateway // gateway网关配置,分发所有微服务地址 | `-- service // 微服务工程 | |-- service-acl // 管理员端权限管理微服务,内聚 spring_security 模块 | |-- service_cms // Banner微服务,提供管理员端和用户端的Banner操作接口 | |-- service_edu // 后台管理微服务,提供管理端操作接口以及用户端基本数据获取接口 | |-- service_msm // 阿里云短信微服务 | |-- service_order // 微信支付微服务,提供支付功能 | |-- service_oss // 阿里云OSS文件微服务 | |-- service_statistics // 网站统计微服务,定时统计数据 | |-- service_ucenter // 用户端会员微服务,提供会员登录注册,以及微信扫码登录功能 | `-- service_vod // 阿里云视频点播服务 |-- guli.sql // 项目sql文件 |-- vue-admin // 管理员UI端,使用 VUE+ElementUI `-- vue-front // 用户UI端,使用 Nuxt.js 进行开发 ``` ## 项目开发环境 - MySQL5.7 - Redis - Maven - JDK8 - Node14 - Nacos1.4 - Nginx1.18(后续被 Nacos 代替) - IDEA ## 数据库准备 在根目录下的 guli.sql 导入到 guli 数据库中即可 ## 网关模块部署 `api_gateway` 模块为网关配置,分发所有微服务地址,访问地址为 `http://localhost:8222`,也是前端所有API访问路径。 **注意**:需要安装 Nacos 并启动后才能生效,只有启动了 Nacos 项目才能正常运行。Nacos 启动后的访问路径为 `http://localhost:8848/nacos`,可以查看各个微服务的启动情况等 ## 微服务模块部署 对各个微服务模块进行基本介绍,然后说明部署须知。 ### service-acl模块 - 介绍:权限管理模块,聚合了 SpringSecurity 框架,配置了全局跨域请求。包括登录和权限及角色的查询和增删改,属于管理端的接口。 - 部署须知 1. 管理端重要的后端入口,登录相关,必须开启。 2. 微服务端口为 8010 3. swagger接口测试的地址为: `http://localhost:8010/swagger-ui.html` 4. 需要修改 application.yml 配置文件中的 mysql、redis 等需要的配置 ### service_cms模块 - 介绍:Banner微服务,用户端首页展示的轮播图,管理端可进行Banner的数据修改。 - 部署须知 1. 只影响到用户端首页轮播图的展示和管理端的查询修改等接口,不影响系统正常的使用 2. 微服务端口 8004 3. swagger接口测试的地址为: `http://localhost:8004/swagger-ui.html` 4. 需要修改 application.yml 配置文件中的 mysql、redis 等需要的配置 ### service_edu模块 - 介绍:讲师信息、课程信息等管理端与用户端数据展示及修改功能 - 部署须知 1. 会影响到用户端首页数据展示,以及管理端的相关查询及增删改,比较重要,需要开启 2. 微服务端口 8001 3. swagger接口测试的地址为: `http://localhost:8001/swagger-ui.html` 4. 需要修改 application.yml 配置文件中的 mysql、redis 等需要的配置 5. 会涉及到 service_order模块 和 service_vod模块 的远程调用,酌情开启这两个模块,后续介绍。 ### service_msm模块 - 介绍:阿里云短信服务模块,用于用户端的注册短信验证。 - 部署须知 1. 涉及到注册时需要开启,并且需要自行注册阿里云短信并且进行相关信息的修改 2. 微服务端口 8006 3. swagger接口测试的地址为: `http://localhost:8006/swagger-ui.html` 4. 需要修改 application.yml 配置文件中的 mysql、redis、msm 等需要的配置 ### service_order模块 - 介绍:课程订单生成以及支付功能 - 部署须知 1. 会影响到用户端课程支付时生成订单,在需要时打开即可 2. 微服务端口 8005 3. swagger接口测试的地址为: `http://localhost:8005/swagger-ui.html` 4. 需要修改 application.yml 配置文件中的 mysql 等需要的配置 5. 会涉及到 service_edu模块 和 service_ucenter模块 的远程调用,酌情开启。 ### service_oss模块 - 介绍:阿里云OSS对象存储功能,用来存储图片 - 部署须知 1. 不重要,只是一些图片的展示 2. 微服务端口 8002 3. swagger接口测试的地址为: `http://localhost:8002/swagger-ui.html` 4. 需要自行注册阿里云OSS,修改 application.yml 配置文件中的 `aliyun.oss.file` 配置 ### service_statistics模块 - 介绍:统计网站数据,通过定时任务执行。 - 部署须知 1. 只会影响到统计展示模块,需要是开启即可 2. 微服务端口 8007 3. swagger接口测试的地址为: `http://localhost:8007/swagger-ui.html` 4. 需要修改 application.yml 配置文件中的 mysql、redis 等需要的配置 5. 会涉及到 service_ucenter模块 的远程调用,酌情开启。 ### service_ucenter模块 - 介绍:用户端会员登录注册,以及微信扫码登录 - 部署须知 1. 重要的微服务,涉及到用户端的登录使用及注册 2. 微服务端口 8160 3. swagger接口测试的地址为: `http://localhost:8160/swagger-ui.html` 4. 需要修改 application.yml 配置文件中的 mysql、redis 等需要的配置 ### service_vod模块 - 介绍:阿里云视频点播,用来上传和获取视频地址 - 部署须知 1. 不重要,视频上传以及播放时打开即可 2. 微服务端口 8003 3. swagger接口测试的地址为: `http://localhost:8003/swagger-ui.html` 4. 需要自行注册阿里云视频点播,修改 application.yml 配置文件中的 `aliyun.vod.file` 配置 ## 用户端UI部署 使用`npm i`进行依赖的安装,如果安装出现错误就是用`cnpm i`进行再次安装,需要配置镜像为淘宝镜像 ```shell npm install -g cnpm --registry=https://registry.npm.taobao.org ``` 使用`npm start`进行服务的启动,端口为 3000 ## 管理端UI部署 使用`npm i`进行依赖的安装,如果安装出现错误就是用`cnpm i`进行再次安装,需要配置镜像为淘宝镜像 ```shell npm install -g cnpm --registry=https://registry.npm.taobao.org ``` 使用`npm start`进行服务的启动,端口为 9528 ## 学到的一些硬知识 - [笔记](Notes/开发指南.md)传送门 - MybatisPlus 代码生成器 - 阿里云 OSS - 阿里巴巴 EasyExcel - 阿里云视频点播 - Feign熔断器机制 - Nuxt框架 - SSO 单点登录 - 阿里云短信 - 微信扫码登录 - 微信支付 - 定时任务 - canal数据同步工具