一、开发环境
后端技术
- Spring Boot框架:
- 描述:Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot致力于在快速应用开发领域成为领导者。
前端技术
- B/S结构:
- 描述:B/S架构是一种基于互联网系统的软件系统开发架构,用户通过浏览器访问部署在远程服务器上的应用,不需要在本地安装额外软件,极大地方便了用户操作和使用。
数据库
- MYSQL数据库:
- 描述:MySQL是一个真正的多用户、多线程SQL数据库服务器,是基于SQL的客户/服务器模式的关系数据库管理系统,适用于Web站点或其他应用软件的数据库后端开发。
二、系统概要设计
1 概述
本系统采用B/S结构(Browser/Server,浏览器/服务器结构)和基于Web服务两种模式,是一个适用于Internet环境下的模型结构。只要用户能连上Internet,便可以在任何时间、任何地点使用。系统工作原理图如图1所示:
2 系统结构
本系统是基于B/S架构的网站系统,设计的管理员功能结构图如下图所示:
本系统是基于B/S架构的网站系统,设计的用户功能结构图如下图所示:
3 数据库设计
3.1 数据库实体
概念设计的目标是设计出反映某个组织部门信息需求的数据库系统概念模式,数据库系统的概念模式独立于数据库系统的逻辑结构、独立于数据库管理系统(DBMS)、独立于计算机系统。
新闻信息的实体属性图:
管理员类型实体属性图:
3.2 数据库设计表
新闻推荐系统需要后台数据库,下面介绍数据库中的各个表的详细信息:
表1 排行榜评论表
字段 | 类型 | 空 | 默认 | 注释 |
---|---|---|---|---|
id (主键) | bigint(20) | 否 | 主键 | |
addtime | timestamp | 否 | CURRENT_TIMESTAMP | 创建时间 |
refid | bigint(20) | 否 | 关联表id | |
userid | bigint(20) | 否 | 用户id | |
nickname | varchar(200) | 是 | NULL | 用户名 |
content | longtext | 否 | 评论内容 | |
reply | longtext | 是 | NULL | 回复内容 |
表2 新闻评论表
字段 | 类型 | 空 | 默认 | 注释 |
---|---|---|---|---|
id (主键) | bigint(20) | 否 | 主键 | |
addtime | timestamp | 否 | CURRENT_TIMESTAMP | 创建时间 |
refid | bigint(20) | 否 | 关联表id | |
userid | bigint(20) | 否 | 用户id | |
nickname | varchar(200) | 是 | NULL | 用户名 |
content | longtext | 否 | 评论内容 | |
reply | longtext | 是 | NULL | 回复内容 |
表3 排行榜
字段 | 类型 | 空 | 默认 | 注释 |
---|---|---|---|---|
id (主键) | bigint(20) | 否 | 主键 | |
addtime | timestamp | 否 | CURRENT_TIMESTAMP | 创建时间 |
biaoti | varchar(200) | 是 | NULL | 标题 |
fabushijian | datetime | 是 | NULL | 发布时间 |
neirong | longtext | 是 | NULL | 内容 |
shipin | varchar(200) | 是 | NULL | 视频 |
faburen | varchar(200) | 是 | NULL | 发布人 |
tupian | varchar(200) | 是 | NULL | 图片 |
thumbsupnum | int(11) | 是 | 0 | 赞 |
crazilynum | int(11) | 是 | 0 | 踩 |
clicktime | datetime | 是 | NULL | 最近点击时间 |
clicknum | int(11) | 是 | 0 | 点击次数 |
表4 收藏表
字段 | 类型 | 空 | 默认 | 注释 |
---|---|---|---|---|
id (主键) | bigint(20) | 否 | 主键 | |
addtime | timestamp | 否 | CURRENT_TIMESTAMP | 创建时间 |
userid | bigint(20) | 否 | 用户id | |
refid | bigint(20) | 是 | NULL | 收藏id |
tablename | varchar(200) | 是 | NULL | 表名 |
name | varchar(200) | 否 | 收藏名称 | |
picture | varchar(200) | 否 | 收藏图片 |
表5 管理员表
字段 | 类型 | 空 | 默认 | 注释 |
---|---|---|---|---|
id (主键) | bigint(20) | 否 | 主键 | |
username | varchar(100) | 否 | 用户名 | |
password | varchar(100) | 否 | 密码 | |
role | varchar(100) | 是 | 管理员 | 角色 |
addtime | timestamp | 否 | CURRENT_TIMESTAMP | 新增时间 |
表6 新闻
字段 | 类型 | 空 | 默认 | 注释 |
---|---|---|---|---|
id (主键) | bigint(20) | 否 | 主键 | |
addtime | timestamp | 否 | CURRENT_TIMESTAMP | 创建时间 |
biaoti | varchar(200) | 是 | NULL | 标题 |
neirong | longtext | 是 | NULL | 内容 |
shipin | varchar(200) | 是 | NULL | 视频 |
fabushijian | datetime | 是 | NULL | 发布时间 |
faburen | varchar(200) | 是 | NULL | 发布人 |
fengmian | varchar(200) | 是 | NULL | 封面 |
thumbsupnum | int(11) | 是 | 0 | 赞 |
crazilynum | int(11) | 是 | 0 | 踩 |
clicktime | datetime | 是 | NULL | 最近点击时间 |
clicknum | int(11) | 是 | 0 | 点击次数 |
表7 用户
字段 | 类型 | 空 | 默认 | 注释 |
---|---|---|---|---|
id (主键) | bigint(20) | 否 | 主键 | |
addtime | timestamp | 否 | CURRENT_TIMESTAMP | 创建时间 |
zhanghao | varchar(200) | 是 | NULL | 账号 |
mima | varchar(200) | 是 | NULL | 密码 |
xingming | varchar(200) | 是 | NULL | 姓名 |
xingbie | varchar(200) | 是 | NULL | 性别 |
shouji | varchar(200) | 是 | NULL | 手机 |
touxiang | varchar(200) | 是 | NULL | 头像 |
三、 系统详细实现
1 管理员模块的实现
1.1 用户信息管理
新闻推荐系统的系统管理员可以可以对用户信息添加修改删除操作。具体界面的展示如图1所示。
1.2 排行榜管理
系统管理员可以对排行榜进行手动管理,可以对排行榜进行添加删除修改操作。具体界面如图2所示。
1.3 新闻信息管理
系统管理员可以对新闻信息进行添加,修改,删除操作。界面如下图所示:
2 用户模块的实现
2.1 首页信息
用户登录后,可以在首页查看排行榜推荐,新闻推荐信息。界面如下图所示:
2.2 新闻信息
用户登录后,首页点击新闻,可以出现新闻界面,并且有分页显示。界面如下图所示:
2.3 我的收藏
用户登录后可以在个人中心里面的我的收藏查看自己收藏的新闻信息。界面如下图所示: