毕业设计:Django基于大数据的热门旅游景点推荐系统
第4章 系统设计
4.1系统总体架构
本文介绍了一个基于Django的热门旅游景点推荐系统,采用B/S架构,通过MySQL实现数据存储,Django框架打造前端交互界面。用户仅需浏览器即可访问,体验流畅。系统设计中注重可扩展性和安全性,架构灵活,易于升级,且内置多重安全机制保护用户数据。总之,该系统功能全面、操作简便,兼具扩展性和安全性,能为用户提供优质服务体验。系统的总体架构设计图如图4-1所示。

图 4-1系统架构图
4.1.1数据库逻辑结构设计
逻辑结构设计旨在明确数据库中各实体的属性及其相互关联。这一过程中,E-R(实体-关系)模型法发挥了关键作用,它作为设计工具,能够简洁而有效地捕捉和处理这些往往较为模糊的概念性事务。通过E-R模型,我们可以直观地展示实体间的联系,使得数据库的设计更加清晰和系统化。因此,E-R模型法是进行逻辑结构设计时最常用且最为简便的方法之一。下面中各个实体关系的E-R图:
用户E-R如图4-2所示:

图4-2 用户E-R图
旅游景点E-R如图4-3所示:

图4-3 旅游景点E-R图
江苏景点E-R如图4-4所示:

图4-4 江苏景点E-R图
系统实体联系E-R图,如图4-5所示。

图4-5系统实体联系E-R图
4.1.2系统数据表设计
基于系统设计的整体思路与对数据库的深入剖析,我们充分吸纳了以往数据库使用的宝贵经验,进而构建了对整个系统构建的全方位认知。这一融合与创新的过程,不仅精确地实现了系统的各项功能需求,而且极大地优化了数据库的结构布局与运行效能。通过细致入微的考量与实践,我们为系统的高效流畅运行以及数据的严谨可靠管理打下了坚实的基础。这一系列举措,无疑为系统的长期稳定运行与数据的安全精准操控提供了强有力的保障,确保了系统能够满足当前及未来发展的需要,构建了以下几张表,下面将介绍主要的存储表的结构。
表名4-1 jiangsusight
|
字段名称 |
类型 |
长度 |
字段说明 |
主键 |
默认值 |
|---|---|---|---|---|---|
|
id |
bigint |
主键 |
0 |
||
|
addtime |
timestamp |
创建时间 |
CURRENT_TIMESTAMP |
||
|
poiname |
varchar |
200 |
景点名称 |
||
|
imgurl |
longtext |
4294967295 |
图片 |
||
|
commentscore |
double |
评分 |
|||
|
commentcount |
int |
评论数 |
|||
|
heatscore |
double |
热度 |
|||
|
jiage |
double |
价格 |
|||
|
districtname |
varchar |
200 |
城市 |
||
|
zonename |
varchar |
200 |
地区 |
||
|
sightcategoryinfo |
varchar |
200 |
口碑榜 |
||
|
sightlevel |
varchar |
200 |
等级 |
||
|
features |
varchar |
200 |
特征 |
||
|
tagname |
varchar |
200 |
标签 |
||
|
detailurl |
longtext |
4294967295 |
详情地址 |
表名4-2景点分类
|
字段名称 |
类型 |
长度 |
字段说明 |
主键 |
默认值 |
|---|---|---|---|---|---|
|
id |
bigint |
主键 |
主键 |
||
|
addtime |
timestamp |
创建时间 |
CURRENT_TIMESTAMP |
||
|
jingdianfenlei |
varchar |
200 |
景点分类 |
表名4-3江苏景点
|
字段名称 |
类型 |
长度 |
字段说明 |
主键 |
默认值 |
|---|---|---|---|---|---|
|
id |
bigint |
主键 |
主键 |
||
|
addtime |
timestamp |
创建时间 |
CURRENT_TIMESTAMP |
||
|
poiname |
varchar |
200 |
景点名称 |
||
|
imgurl |
longtext |
4294967295 |
图片 |
||
|
heatscore |
double |
热度 |
|||
|
commentscore |
double |
评分 |
|||
|
commentcount |
int |
评论数 |
|||
|
jiage |
double |
价格 |
|||
|
districtname |
varchar |
200 |
城市 |
||
|
zonename |
varchar |
200 |
地区 |
||
|
sightcategoryinfo |
varchar |
200 |
口碑榜 |
||
|
sightlevel |
varchar |
200 |
等级 |
||
|
features |
varchar |
200 |
特征 |
||
|
tagname |
varchar |
200 |
标签 |
||
|
detailurl |
longtext |
4294967295 |
详情地址 |
||
|
clicktime |
datetime |
最近点击时间 |
|||
|
clicknum |
int |
点击次数 |
0 |
||
|
discussnum |
int |
评论数 |
0 |
||
|
totalscore |
double |
评分 |
0 |
||
|
storeupnum |
int |
收藏数 |
0 |
表名4-4旅游景点评论表
|
字段名称 |
类型 |
长度 |
字段说明 |
主键 |
默认值 |
|---|---|---|---|---|---|
|
id |
bigint |
主键 |
主键 |
||
|
addtime |
timestamp |
创建时间 |
CURRENT_TIMESTAMP |
||
|
refid |
bigint |
关联表id |
|||
|
userid |
bigint |
用户id |
|||
|
avatarurl |
longtext |
4294967295 |
头像 |
||
|
nickname |
varchar |
200 |
用户名 |
||
|
content |
longtext |
4294967295 |
评论内容 |
||
|
score |
double |
评分 |
|||
|
reply |
longtext |
4294967295 |
回复内容 |
||
|
thumbsupnum |
int |
赞 |
0 |
||
|
crazilynum |
int |
踩 |
0 |
||
|
istop |
int |
置顶(1:置顶,0:非置顶) |
0 |
||
|
tuserids |
longtext |
4294967295 |
赞用户ids |
||
|
cuserids |
longtext |
4294967295 |
踩用户ids |
表名4-5 discussjiangsusight
|
字段名称 |
类型 |
长度 |
字段说明 |
主键 |
默认值 |
|---|---|---|---|---|---|
|
id |
bigint |
主键 |
主键 |
||
|
addtime |
timestamp |
创建时间 |
CURRENT_TIMESTAMP |
||
|
refid |
bigint |
关联表id |
|||
|
userid |
bigint |
用户id |
|||
|
avatarurl |
longtext |
4294967295 |
头像 |
||
|
nickname |
varchar |
200 |
用户名 |
||
|
content |
longtext |
4294967295 |
评论内容 |
||
|
score |
double |
评分 |
|||
|
reply |
longtext |
4294967295 |
回复内容 |
||
|
thumbsupnum |
int |
赞 |
0 |
||
|
crazilynum |
int |
踩 |
0 |
||
|
istop |
int |
置顶(1:置顶,0:非置顶) |
0 |
||
|
tuserids |
longtext |
4294967295 |
赞用户ids |
||
|
cuserids |
longtext |
4294967295 |
踩用户ids |
表名4-6配置文件
|
字段名称 |
类型 |
长度 |
字段说明 |
主键 |
默认值 |
|---|---|---|---|---|---|
|
id |
bigint |
主键 |
主键 |
||
|
name |
varchar |
100 |
配置参数名称 |
||
|
value |
varchar |
100 |
配置参数值 |
||
|
url |
varchar |
500 |
url |
表名4-7在线客服
|
字段名称 |
类型 |
长度 |
字段说明 |
主键 |
默认值 |
|---|---|---|---|---|---|
|
id |
bigint |
主键 |
主键 |
||
|
addtime |
timestamp |
创建时间 |
CURRENT_TIMESTAMP |
||
|
userid |
bigint |
用户id |
|||
|
adminid |
bigint |
管理员id |
|||
|
ask |
longtext |
4294967295 |
提问 |
||
|
reply |
longtext |
4294967295 |
回复 |
||
|
isreply |
int |
是否回复 |
|||
|
isread |
int |
已读/未读(1:已读,0:未读) |
0 |
||
|
uname |
varchar |
200 |
用户头像 |
||
|
uimage |
longtext |
4294967295 |
用户名 |
||
|
type |
int |
内容类型(1:文本,2:图片,3:视频,4:文件,5:表情) |
1 |
表名4-8管理员表
|
字段名称 |
类型 |
长度 |
字段说明 |
主键 |
默认值 |
|---|---|---|---|---|---|
|
id |
bigint |
主键 |
主键 |
||
|
username |
varchar |
100 |
用户名 |
||
|
password |
varchar |
100 |
密码 |
||
|
image |
varchar |
200 |
头像 |
||
|
role |
varchar |
100 |
角色 |
管理员 |
|
|
addtime |
timestamp |
新增时间 |
CURRENT_TIMESTAMP |
表名4-9收藏表
|
字段名称 |
类型 |
长度 |
字段说明 |
主键 |
默认值 |
|---|---|---|---|---|---|
|
id |
bigint |
主键 |
主键 |
||
|
addtime |
timestamp |
创建时间 |
CURRENT_TIMESTAMP |
||
|
userid |
bigint |
用户id |
|||
|
refid |
bigint |
商品id |
|||
|
tablename |
varchar |
200 |
表名 |
||
|
name |
varchar |
200 |
名称 |
||
|
picture |
longtext |
4294967295 |
图片 |
||
|
type |
varchar |
200 |
类型 |
1 |
|
|
inteltype |
varchar |
200 |
推荐类型 |
||
|
remark |
varchar |
200 |
备注 |
表名4-10旅游景点
|
字段名称 |
类型 |
长度 |
字段说明 |
主键 |
默认值 |
|---|---|---|---|---|---|
|
id |
bigint |
主键 |
主键 |
||
|
addtime |
timestamp |
创建时间 |
CURRENT_TIMESTAMP |
||
|
jingdianmingcheng |
varchar |
200 |
景点名称 |
||
|
jingdianfenlei |
varchar |
200 |
景点分类 |
||
|
jingdiandengji |
varchar |
200 |
景点等级 |
||
|
jingdiantupian |
longtext |
4294967295 |
景点图片 |
||
|
shipin |
longtext |
4294967295 |
视频 |
||
|
menpiaojiage |
varchar |
200 |
门票价格 |
||
|
kaifangshijian |
varchar |
200 |
开放时间 |
||
|
jingdiandizhi |
varchar |
200 |
景点地址 |
||
|
jingdianjieshao |
longtext |
4294967295 |
景点介绍 |
||
|
clicktime |
datetime |
最近点击时间 |
|||
|
clicknum |
int |
点击次数 |
0 |
||
|
discussnum |
int |
评论数 |
0 |
||
|
totalscore |
double |
评分 |
0 |
||
|
storeupnum |
int |
收藏数 |
0 |
表名4-11用户
|
字段名称 |
类型 |
长度 |
字段说明 |
主键 |
默认值 |
|---|---|---|---|---|---|
|
id |
bigint |
主键 |
主键 |
||
|
addtime |
timestamp |
创建时间 |
CURRENT_TIMESTAMP |
||
|
yonghuming |
varchar |
200 |
用户名 |
||
|
mima |
varchar |
200 |
密码 |
||
|
xingming |
varchar |
200 |
姓名 |
||
|
xingbie |
varchar |
200 |
性别 |
||
|
nianling |
int |
年龄 |
|||
|
lianxifangshi |
varchar |
200 |
联系方式 |
||
|
youxiang |
varchar |
200 |
邮箱 |
||
|
touxiang |
longtext |
4294967295 |
头像 |
||
|
xingquaihao |
varchar |
200 |
兴趣爱好 |
||
|
lvxinglishi |
longtext |
4294967295 |
旅行历史 |
第五章 系统实现
5.1前台用户模块实现
该模块主要用于用户注册,当用户首次使用热门旅游景点推荐系统时,需要先进行注册。用户可以通过填写相关信息完成在热门旅游景点推荐系统中的注册过程,如图5-1所示:

图5-1 用户注册界面
该模块能够有效防止未注册用户访问和使用系统。用户需通过输入正确的账号和密码进行登录,从而获得热门旅游景点推荐系统提供的各项服务和功能的访问权限。如图5-2所示;

图5-2用户登录界图
注册账号成功且登录系统后,用户即可进入主页查看系统首页、旅游景点、江苏景点、个人中心等,并开始执行业务操作,如图5-3所示:

图5-3 系统首页界面
在旅游景点页面,用户可以通过输入景点名称、景点等级、景点地址来进行查询。查询结果将展示景点名称、景点分类、景点等级、景点图片、视频、门票价格、开放时间、景点地址等详细信息,并且用户可以直接在该页面进行收藏或者评论等操作;如图5-4所示:

图5-4旅游景点页面
在江苏景点页面,用户可以通过输入景点名称、城市、地区、等级、标签来进行查询。查询结果将展示景点名称、图片、热度、评分、评论数、价格、城市、地区、口碑榜、等级、特征等详细信息,并且用户可以直接在该页面进行收藏或者评论等操作;如图5-5

图5-5江苏景点页面
用户成功登录热门旅游景点推荐系统后,个人中心页面成为他们管理个人信息的便捷平台。在此页面上,用户可以轻松地进行修改密码、我的收藏等各项操作,如图5-6所示:

图5-6个人中心页面
5.2后台管理员模块实现
管理员登录,在登录页面正确输入用户名和密码、角色后,点击登录然后进行操作;如图5-7所示。

图5-7 管理员登录界面
管理员进入系统主页面,主要功能包括对系统首页、用户、景点分类、旅游景点、江苏景点、系统管理、个人中心等进行操作。管理员主页面如图5-8所示:

图5-8管理员主界面
管理员可以在用户界面进行用户的管理,包括添删改查操作,可以根据用户名、姓名,查询到相应的用户信息,并进行添删改查操作。如图5-9所示:

图5-9用户界面
管理员可以在景点分类界面进行景点分类信息的管理,包括添删改查操作,可以根据景点分类,查询到相应的景点分类信息,并进行添删改查操作。如图5-10所示:

图5-10景点分类界面
管理员可以在旅游景点界面进行旅游景点管理,包括添删改查操作,可以根据景点名称、景点分类、景点等级、景点地址,查询到相应的旅游景点信息,并进行添删改查操作。如图5-11所示:

图5-11旅游景点界面
管理员可以在江苏景点界面进行江苏景点的管理,包括爬取数据、添删改查操作,可以根据景点名称、城市、地区、等级、标签,查询到相应的江苏景点信息,并进行爬取数据、添删改查操作。如图5-12所示:

图5-12江苏景点界面
5.3看板展示
基于大数据的热门旅游景点推荐系统界面,具备丰富且实用的功能。系统通过“江苏景点(热度TOP15)”列表清晰呈现各景点热度排名,使用户能快速知晓热门景点,同时展示的景点图片可让用户直观感受景点风貌。在数据可视化方面,景点词云以视觉化形式突出热门景点关键词,景点评论数量柱状图展现不同景点评论量差异,饼图则呈现景点合作占比等数据,帮助用户轻松理解复杂信息。景点评分折线图用于展示景点评分变化趋势,助力用户判断景点口碑稳定性。此外,系统还能依据大数据分析为用户精准推荐景点,满足个性化旅游需求,并且可实时更新数据,确保用户获取最新旅游信息。这些功能为用户规划行程、选择景点提供了全面且直观的参考,有效提升了旅游决策效率与体验。如图5-13所示。

图5-13 看板展示界面
更多推荐


所有评论(0)