2 Star 13 Fork 1

h0ss / UCloudTeach-Monolithic

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
MIT

UCloudTeach-Monolithic

项目介绍

1)项目说明

本项目选题自《2021华为云DevCloud开发者大赛-河南》赛题二,基本需求为在线教育平台应用的开发,后端功能需求如下:

最终项目定名为“优云教在线教育平台”,本仓库为项目的单体架构版本,基本功能都已实现,可用于毕设、练手Demo等。

此版架构优点是构建难度较小,缺点是服务边界不明确、维护成本较高。

2)项目前端

一个完整的项目应用自然不能少了前端页面展示,项目前端页面分为管理端和学生端:

① 管理端使用Vue3+Ant-Design-Vue搭建,仓库地址为:UCloudTeach-Admin

② 学生端使用Vue3+Vant3搭建,仓库地址为:UCloudTeach-Student

3)项目文档

后台接口文档使用 docway 创建,具体可参考:http://xiaoyaoji.cn/project/1sxS6c06Njl/1sxSAL1b4LI

基本架构

项目技术点

1)数据存取

① 项目数据库使用MySQL,集成Mybatis进行数据存取操作,使用代码生成插件进行实体类以及mapper代码的构建;

② 集成pagehelper插件进行分页查询,可有效避免接口全量查询数据造成数据库过压情况;

③ 集成redis做数据的缓存,提升读多写少数据、热点数据的访问效率,同时实现了分布式session;

④ 集成华为云OBS进行图片等文件的存储;

PS: 项目中的redis以及MySQL需要手动配置

2)数据处理与日志收集

① 使用雪花算法生成分布式自增id,在多机器环境下可以生成唯一有序ID,方便数据库索引构建;

② 集成fastjson实现数据的序列化与反序列化;

③ 集成validation进行数据的后端校验;

④ 集成slf4j进行日志的收集,并且为日志生成唯一的流水号,以方便运维排错;

3)权限校验

① 使用轻量化开源框架sa-token做权限校验,相比于shiro与SpringSecurity集成配置更加方便;

② token信息使用本地64位随机字符串;

③ 基于Redis实现token信息的分布式存储,

④ 利用框架进行角色权限管理,针对不同用户接口进行权限校验;

⑤ 集成短信接口实现短信下发功能,集成腾讯防水墙服务进行滑动验证码的前后端校验【参考官网配置】;

4)支付功能

① 集成支付宝沙箱支付功能实现课程的购买功能,用户提交购买请求后返回支付宝支付页面;

② 通过后端接受支付宝异步通知来获取用户支付状态,支付成功则写入数据表中;

PS: 参考支付宝沙箱环境搭建配置

项目使用

  1. 克隆本项目: git clone https://gitee.com/h0ss/ucloud-teach-monolithic.git
  2. 安装mvn依赖: mvn clean install
  3. 检查配置文件,完成数据库、Redis等相关信息的配置
  4. 运行启动类: mvn spring-boot:run

项目后续计划

  • 1、重构项目controller和service,根据业务或者根据角色去划分模块
  • 2、项目接口文档进一步完善
  • 3、完成项目详细开发文档
MIT License Copyright (c) 2022 h0ss Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

简介

优云教在线教育平台单体架构版本,使用SpringBoot+Mybatis+Redis+Sa-Token搭建,此为第一版完整应用,基本功能都已实现,可用于毕设、练手Demo等。此版架构优点是构建难度较小,缺点是服务边界不明确、维护成本较高。 前端项目地址请关注Readme文件。 展开 收起
Java
MIT
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
1
https://gitee.com/h0ss/ucloud-teach-monolithic.git
git@gitee.com:h0ss/ucloud-teach-monolithic.git
h0ss
ucloud-teach-monolithic
UCloudTeach-Monolithic
master

搜索帮助