今天给大家分享一个github上开源模仿抖音的短视频项目
git下载地址:https://github.com/RAOE/show-videos.git
仿抖音,springcloud+springboot+springmvc+mybatis+docker+bootstrap+h plus+微信小程序
管理后台
相关技术
前端:h5+css+javascript+jquery+bootstrap+themeleaf+ H plus
后端:springcloud+springboot+sping+springmvc+mybatis+mysql+redis+shiro
组件:bootsrap-table,webUploader,pagehelper+layer
项目部署: docker + linux
中间件:eureka(微服务治理)
消息队列: rabbitmq
测试:swagger2
开发风格:分布式系统架构,前后分离开发风格,RESTful api
代码介绍
scetc-show-videos-admin 后台管理系统
scetc-show-videos-cloud eureka服务发现与注册
scetc-show-videos-config 分布式配置中心
scetc-show-videos-dev 小程序后台
scetc-show-videos-page 小程序界面
1.需求分析
用户需求
用户个人信息管理,视频的编辑(加入滤镜或者背景音乐)、上传、浏览、点赞、关注、下载、等功能。
管理员需求
毕业设计选题环节中,系统管理员的需求为:用户管理(新增用户、删除用户及用户登录系统数据的初始化操作)、视频管理(视频分类、新增视频、对违违法视频进行删除操作)、背景音乐管理(对音乐库中音乐的增删改查)、滤镜管理(滤镜的增改)、用户管理(新增各权限级的管理员、删除管理员、对子集权限组管理员系统登录数据的初始化操作)以及消息通知(发布不同对象的系统消息、对所有消息进行查看及删除操作)
2.项目设计
2.1 微信小程序端
前台的设计、后台的管理、安全性
前端:基于微信小程序的开发文档
后端:基于springboot微服务架构 + mysql数据库 + redis缓存数据库 + ffmpeg
组件:wxsearch微信小程序搜索组件
音视频工程工具+mybatis 数据持久层框架+redis数据库
2.2 后台管理系统端
后台管理系统的开发、安全性
mybatis 数据持久层框架+redis数据库
网站前端:bootstrap前端框架 + javascript + css +html +jquery +ajax+themeleaf模板引擎
短视频:审核、删除
背景音乐:添加和修改
管理员管理:用户管理、视频访问量、点击率的记载分析
3.模块设计
3.1.1 用户端模块
用户模块主要页面有个人管理、视频编辑、管理、上传、浏览、下载等
3.1.3 管理员模块
管理员模块主要页面有个人管理、人员管理、视频管理、音乐管理、审核发布、用户列表管理。
3.2 界面设计
3.2.1 用户页面
学生界面设计布局为横向栏导航、面包屑导航及页面内容构成,横向栏导航条鼠标悬浮其背景将变色,选中栏目的背景色异于未选中背景色,面包屑导航当前栏目不可操作,可直接回值
父级栏目,页面可实现响应式布局,如图所示,为用户成功登录后页面。
3.3 数据库设计
3.3.1 数据库实体关系图
如何快速导入项目?
将scetc-show-videos-page小程序页面导入到微信开发工具栏中即可
如需使用本地api需要部署scetc-show-videos-dev项目(项目以war包发布,需要额外配置tomcat环境),并且在app.json文件中修改serverUr服务器地址
云服务器地址:https://www.lotcloudy.com/scetc-show-videos-mini-api-0.0.1-SNAPSHOT/
关于后台管理系统 导入scetc-show-videos-admin项目
关于分布式环境配置,观看相关的配置文件即可
技术栈
后端
名称 | 描述 | 官网 |
Spring Framework | 容器 | http://projects.spring.io/spring-framework/ |
SpringMVC | MVC框架 | http://docs.spring.io/spring/docs/current/spring-framework-reference/htmlsingle/#mvc |
MyBatis | ORM框架 | http://www.mybatis.org/mybatis-3/zh/index.html |
MyBatis Generator | 代码生成 | http://www.mybatis.org/generator/index.html |
Apache Shiro | 安全框架 | http://shiro.apache.org/ |
PageHelper | MyBatis分页 | http://git.oschina.net/free/Mybatis_PageHelper |
Maven | 项目构建管理 | http://maven.apache.org/ |
MySQL | 数据库 | https://www.mysql.com/ |
Tomcat 8.0 | 服务器 | http://tomcat.apache.org/ |
前端
名称 | 描述 | 官网 |
jQuery | 函数库 | http://jquery.com/ |
Bootstrap | 前端框架 | http://getbootstrap.com/ |
Bootstrap-table | 数据表格 | http://bootstrap-table.wenzhixin.net.cn/ |
echarts | 图表 | http://echarts.baidu.com/ |
web uploader | 图片上传 | http://fex.baidu.com/webuploader/ |
layui | 弹出层 | http://www.layui.com/ |
sweetalert | 弹出层 | http://mishengqiang.com/sweetalert/ |
highlight | 代码高亮 | https://highlightjs.org/ |
summernote | 富文本编辑 | https://summernote.org/ |
pace | 进度条 | https://github.hubspot.com/pace/ |
fakeLoader | 页面预加载 | https://www.awesomes.cn/repo/joaopereirawd/fakeloader-js |