第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 看板展示界面

Logo

码道开发者社区,聚焦华为云码道 CodeArts 代码智能体,沉淀 Agent、Skill、鸿蒙开发实战内容,供开发者查阅资料、交流技术、分享工程实践

更多推荐