- spring + springMVC + mybatis + maven + tomcat
- 包括管理信息系统、用户评论、视频展示、相关搜索、用户登录、视频播放等功能的视频点播分享网站的后端实现
- 作者
- 本人是一个即将从大学毕业的学生,因为毕业论文的要求,开始制作gobig项目。不仅是对自己大学学习的总结,也是学习新的知识的实践。
- 联系方式:qq:741782425(请备注Github)
- gobig
- gobig是一个以视频点播、分享为主的网站。整体分为主站(gobig-front-end)、小程序(gobig-mini)、后台管理系统(gobig-admin)、后端开发(gobig-serve)四个方面。
- 因为作者自己对bilibili的喜爱,所以主站和小程序的UI、页面逻辑和功能实现等很多方面借鉴了b站,这里非常感谢b站。
- gobig是作者第一次独立开发完整项目,期间有很多bug和功能没有及时完善,敬请见谅。
- gobig-serve
- gobig-serve是gobig项目的后端。因为gobig整体采用前后端分离的MVVM模式,所以gobig-serve的任务是向各个前端平台提供接口、处理数据、返回数据,不参与页面逻辑的控制。
- Mysql 版本:8.0.13 一个关系型数据库管理系统 免费开源、易安装操作、适合中小型项目
- Navicat 一套数据库管理工具 易安装操作、功能丰富
- 语言:
- java 版本:1.8 成熟、安全、稳定、生态丰富、学习资料丰富
- 框架
- spring / springMVC / mybatis 开源框架,成熟的web后端解决方案 成熟稳定、学习资料丰富、功能强大、支持MVVM
- 工具和中间件
- Maven 构建和管理Java相关项目的工具 选择理由: 1、相同的项目结构。当你使用其他maven类型项目时,可以迅速上手。 2、统一维护jar包。不用再上网搜寻项目所用的包依赖,配置好数据源,可以快速安装、修改包版本。
- intellij idea java编程语言开发的集成环境
- 其他
- jackson 基于Java平台的一套数据处理工具 处理前后端数据交换的json,支持spring
- jwt 跨域身份验证解决方案
- DruidDataSource 阿里巴巴开源平台上一个数据库连接池
- tomcat 版本:9.0
- nginx
- 宝塔linux
这里的controller,很好地体现了gobig-serve的六个功能分区:后台信息系统、评论、首页、搜索、用户、视频。
- 后台信息系统
- 管理员登录、管理员退出、获取管理员相关信息
- 首页
- 获取多个随机的视频、获取多个随机分类的视频、获取视频分类信息
- 用户
- 用户注册、用户登录、确认登录状态、增删查改用户信息、获取用户视频收藏信息、上传用户头像
- 视频
- 增删查改视频信息、获取用户视频、获取分类视频、获取排行榜视频信息、上传视频文件
- 搜索
- 关键字查询视频信息、关键字查询用户信息
前端驱动后端,有很多功能必须前端有需求解决,后端才能解决
- 评论系统。 现在仅有数据库字段、简单的接口实现,增删查改接口等都不完善。
- 文件存储系统。 现在只是把图片、视频等文件重命名存储起来,没有压缩、转码等专门的系统来处理文件。
- 用户登录系统。 现在利用jwt来处理用户验证,但没有持久化接口,也没有权限系统。
- 管理员登录系统。 现在也是jwt处理,没有权限系统,没有持久化
- 数据库查询无缓存。 即要使用redis, Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用, 解决了如果多次查询或使用数据库相同操作,可以使用内存中缓存,加快速度。
- 前后端接口不规范、不完善、扩展性不高。这是软件设计之初未规划好导致的错误,重构才能解决。
- 没有filter,没有权限系统。