(附源码)基于springboot的美食推荐小程序的设计与实现的设计与实现 毕业设计-75058

摘要

本文探讨了基于Spring Boot后端框架与Vue前端框架的美食推荐小程序的设计与实现。该小程序旨在为用户提供个性化、交互式的美食推荐服务,同时集成了美食信息浏览、美食资讯查看、美食订单管理以及美食评价等功能。

在后端部分,Spring Boot框架被用于构建稳定、高效的服务端应用。通过利用其强大的MVC架构、依赖注入和自动化配置等特性,我们成功地实现了用户认证、美食数据管理、推荐算法逻辑以及API接口等功能。这些后端服务为前端提供了稳定、安全的数据支持。

在前端部分,Vue框架被用于构建用户友好的交互界面。Vue的组件化特性和响应式数据绑定使得前端的开发更加高效和灵活。通过结合Vue Router和Axios等库,我们实现了用户界面的路由管理、数据请求与展示等功能,为用户提供了流畅、直观的美食推荐体验。

在美食推荐方面,本文采用了一种基于用户行为和美食属性的推荐算法。通过对用户的历史行为数据进行分析和挖掘,结合美食的属性信息,为用户推荐符合其口味偏好的美食。同时,小程序还提供了美食信息的展示和搜索功能,方便用户浏览和选择。

此外,美食资讯模块为用户提供了丰富的美食相关资讯,增加了用户对美食的了解和兴趣。美食订单模块允许用户在线下单、支付和查看订单状态,实现了便捷的用餐体验。而美食评价模块则为用户提供了对菜品和餐厅进行评价的渠道,帮助其他用户做出更好的选择。

最终,通过系统的测试和优化,确保了美食推荐小程序的稳定性和性能。实际应用表明,该小程序能够为用户提供个性化的美食推荐服务,同时满足了用户对美食信息浏览、订单管理和评价等方面的需求,为美食爱好者提供了便捷、高效的服务体验。

关键词:美食推荐小程序;微信小程序;SpringBoot;Vue框架;系统设计与实现

Abstract

This article explores the design and implementation of a food recommendation mini program based on the Spring Boot backend framework and Vue frontend framework. This mini program aims to provide users with personalized and interactive food recommendation services, while integrating functions such as food information browsing, food information viewing, food order management, and food evaluation.

In the backend, the Spring Boot framework is used to build stable and efficient server-side applications. By utilizing its powerful MVC architecture, dependency injection, and automated configuration features, we have successfully implemented functions such as user authentication, food data management, recommendation algorithm logic, and API interfaces. These backend services provide stable and secure data support for the front-end.

In the front-end, the Vue framework is used to build a user-friendly interactive interface. Vue's componentization and responsive data binding make front-end development more efficient and flexible. By combining Vue Router and Axios libraries, we have implemented functions such as routing management, data requests, and display in the user interface, providing users with a smooth and intuitive food recommendation experience.

In terms of food recommendation, this article adopts a recommendation algorithm based on user behavior and food attributes. By analyzing and mining user historical behavioral data, combined with the attribute information of food, recommend food that meets their taste preferences to users. At the same time, the mini program also provides display and search functions for food information, making it convenient for users to browse and choose.

In addition, the food information module provides users with rich food related information, increasing their understanding and interest in food. The food order module allows users to place orders, make payments, and view order status online, achieving a convenient dining experience. The food evaluation module provides users with a channel to evaluate dishes and restaurants, helping other users make better choices.

Finally, through system testing and optimization, the stability and performance of the food recommendation mini program were ensured. Practical applications have shown that this mini program can provide users with personalized food recommendation services, while meeting their needs for food information browsing, order management, and evaluation, providing a convenient and efficient service experience for food enthusiasts.

Keywords: Food recommendation mini program; WeChat Mini Program; SpringBoot; Vue framework; System Design and Implementation

目录

1 绪论

1.1 课题研究背景

1.2 国内外研究现状

1.3系统开发技术的特色

2 基于springboot的美食推荐小程序分析

2.1可行性分析

2.1.1技术可行性分析

2.1.2经济可行性分析

2.1.3操作可行性分析

2.2 系统流程分析

2.2.1 数据流程

2.2.2 业务流程

2.3功能需求分析

2.4用例分析

3基于springboot的美食推荐小程序总体设计

3.1系统功能模块设计

3.3数据库设计

3.3.1 数据库E-R模型

3.3.2 数据库表设计

4 基于springboot的美食推荐小程序实现

4.1 前台微信端

4.1.1 用户注册界面

4.1.2 用户登录界面

4.1.3 美食资讯界面

4.1.4 美食信息详情界面

4.1.5 美食订单界面

4.1.6美食评价界面

4.1.7我的界面

4.2 后台商家用户用户端

4.2.1 美食信息界面

4.2.2 美食订单界面

4.2.3 美食评价界面

4.3后台管理员端

4.3.1 系统用户界面

4.3.2美食信息管理界面

4.3.3系统管理界面

4.3.4公告管理界面

4.3.5资源管理界面

5 基于springboot的美食推荐小程序测试

5.1系统测试

5.2测试结果

总结与展望

参考文献

致谢

1 绪论

1.1 课题研究背景

随着移动互联网的迅猛发展,用户对于便捷、个性化的服务需求日益增强。特别是在美食领域,用户希望能够快速找到符合自己口味和喜好的餐厅和菜品。因此,美食推荐小程序应运而生,成为了满足这一需求的重要工具。

然而,传统的美食推荐方式往往依赖于人工推荐或者简单的算法,无法满足用户对于个性化、精准推荐的需求。同时,随着大数据和人工智能技术的快速发展,为美食推荐提供了更加广阔的可能性。

基于以上背景,本文提出了基于Spring Boot后端框架与Vue前端框架的美食推荐小程序的设计与实现。Spring Boot作为后端框架,具有快速构建、易于扩展、稳定性高等特点,能够满足后端服务的需求。而Vue作为前端框架,具有轻量级、组件化、响应式等特点,能够为用户提供流畅、直观的用户界面。

通过结合Spring Boot和Vue,本文旨在设计并实现一个既能够满足用户个性化需求,又能够提供丰富、便捷功能的美食推荐小程序。通过整合大数据和人工智能技术,提高推荐的准确性和个性化程度,为用户提供更加精准、个性化的美食推荐服务。同时,通过优化用户界面和交互设计,提升用户体验,为用户带来更加舒适、便捷的美食服务体验。

综上所述,本文的研究背景主要基于移动互联网的发展、用户对于个性化服务的需求以及大数据和人工智能技术的应用,旨在设计并实现一个基于Spring Boot和Vue的美食推荐小程序,为用户提供更加精准、个性化的美食推荐服务体验。

1.2 国内外研究现状

国内研究现状:

在国内,随着移动互联网的迅猛发展和人们生活水平的提高,美食推荐小程序受到了越来越多的关注。基于Java和Spring Boot框架的美食推荐小程序设计与实现成为了当前研究的热点之一。国内的研究者和企业纷纷投入到这一领域,通过整合线上线下资源,为用户提供更加便捷、个性化的美食推荐服务。

目前,国内已经有一些知名的美食推荐小程序,如美团、饿了么、大众点评等。这些小程序通过运用先进的推荐算法和大数据技术,根据用户的历史行为和口味偏好,为用户提供精准的美食推荐。同时,这些小程序还提供了在线点餐、支付、评价等功能,为用户提供了全方位的美食服务体验。

然而,国内的美食推荐小程序在内容深度、用户体验和技术创新等方面仍有待提升。例如,如何进一步提高推荐的准确性和个性化程度,如何优化用户界面和交互设计,如何结合人工智能和机器学习等先进技术进行创新等,都是当前国内研究者和企业需要面对和解决的问题。

国外研究现状:

在国外,尤其是欧美等发达国家,美食推荐系统的研究和应用也备受关注。许多知名的美食推荐网站和应用程序,如Yelp、Zomato等,已经形成了较为成熟的运营模式和市场份额。这些平台注重用户体验和个性化服务,通过智能推荐、社交分享等功能满足用户的多样化需求。

在技术方面,国外的美食推荐系统也进行了许多创新和探索。例如,一些研究者利用深度学习技术对用户的行为和口味进行分析和预测,以提高推荐的准确性和个性化程度。同时,国外的美食推荐系统还注重与其他服务的整合和协同,如与在线订餐、支付等服务的结合,为用户提供更加便捷的一站式服务体验。

综上所述,基于Spring Boot的美食推荐小程序的设计与实现在国内外都具有一定的研究价值和实际意义。通过深入研究和探索,可以推动美食推荐领域的技术创新和发展,为用户提供更加精准、个性化的美食推荐服务体验。

1.3系统开发技术的特色

(1)系统采用前后端分离的开发模式,使得前端和后端可以独立开发和维护,提高了开发效率和系统的可维护性。

(2)系统采用微服务架构,将系统拆分成多个独立的服务,每个服务可以独立部署和扩展,提高了系统的灵活性和可扩展性。

(3)系统采用 Docker 容器化部署技术,使得系统可以快速部署和迁移,提高了系统的可靠性和可移植性。

(4)系统采用自动化测试技术,包括单元测试、接口测试和性能测试等,提高了系统的稳定性和可靠性。

(5)系统采用安全保障技术,包括用户认证、授权、数据加密等,保障了系统的安全性和用户的隐私。

这些技术特色使得基于springboot的美食推荐小程序具有高效、稳定、可靠、安全等优点,能够满足用户的需求和提高用户的体验。


2 基于springboot的美食推荐小程序分析

基于springboot的美食推荐小程序可在微信端实现登录注册、首页、网站公告、美食信息、美食资讯、我的(基本信息、收藏、美食订单、美食评价)等操作,相对于传统美食推荐方式,基于springboot的美食推荐小程序提高了效率和便利性。在后台可对系统用户、美食分类、美食信息、美食订单、美食评价、系统轮播图、公告、美食资讯等进行管理,有效掌握美食订单信息,充分了解用户的需求,更有针对性的服务用户。

2.1可行性分析

2.1.1技术可行性分析

Spring Boot和Vue都是目前流行的技术框架,拥有大量的社区支持和丰富的资源。Spring Boot提供了强大的后端开发能力,包括快速构建RESTful API、集成数据库、安全性控制等。Vue则提供了高效的前端开发体验,通过组件化开发和响应式数据绑定,可以快速地构建出美观且交互性强的用户界面。结合两者,可以确保美食推荐小程序在技术实现上是可行的。

2.1.2经济可行性分析

基于Spring Boot和Vue的美食推荐小程序开发成本相对较低。Spring Boot的开源性质和Vue的轻量级特点,使得开发团队无需购买昂贵的商业软件或服务器资源。同时,由于两者都有丰富的社区资源和文档支持,可以节省大量的学习和开发时间,从而降低项目的开发成本。

2.1.3操作可行性分析

在日常生活中,随着小程序的快速推广和使用,越来越多人掌握小程序的使用方法,基于springboot的美食推荐小程序在这种条件背景下是很容易被人们所接受和熟悉的,所以在操作上没任何问题。

2.2 系统流程分析

2.2.1 数据流程

基于springboot的美食推荐小程序主要的目的之一就是实现用户线上美食下单,图2-1就是系统的数据流图。

图2-1线上下单美食操作展开图

2.2.2 业务流程

分析完系统的数据流,接下来我们来看系统的业务流程,图2-2就是业务流程图:

图2-2业务流程图

2.3功能需求分析

基于springboot的美食推荐小程序中的web后台管理端采用了IntelliJ IDEA 2019.3.4 开发工具,配合了java开发语言中springboot开发框架以及tomcat8.0服务器、jdk1.8,微信端采用了微信开发者工具稳定版1.05.2111300,页面使用wxss和wxml进行布局,微信端和web后台管理端采用json接口通信。

1. 顾客用户功能:

登录注册: 提供用户注册和登录功能,确保用户身份安全。

首页: 展示美食推荐、最新的网站公告、美食资讯等内容,引导用户浏览。

网站公告: 展示平台发布的重要通知和公告信息,包括活动促销、商家信息等。

美食信息: 提供用户浏览美食信息、搜索美食等功能,包括美食图片、价格、评价等。

美食资讯: 展示与美食相关的新闻和资讯,包括美食文化、食材介绍等内容。

我的: 用户个人中心,包括基本信息管理、收藏的美食、美食订单记录、美食评价等。

2. 商家用户功能:

登录注册: 提供商家注册和登录功能,确保商家身份安全。

首页: 展示美食推荐、最新的网站公告、美食资讯等内容,引导商家浏览。

网站公告: 展示平台发布的重要通知和公告信息,包括活动促销、顾客需求等。

美食信息: 提供商家发布、编辑、管理自己的美食信息,包括添加新美食、修改价格等。

美食资讯: 展示与美食相关的新闻和资讯,包括美食行业动态、烹饪技巧等内容。

我的: 商家个人中心,包括基本信息管理、收藏的美食、美食信息管理、美食订单记录、美食评价等。

3. 管理员功能:

后台首页: 提供管理员登录后的管理主页,展示系统的重要信息和功能入口。

系统用户: 管理注册用户的信息,包括顾客用户和商家用户的信息。

美食分类管理: 管理美食的分类信息,确保美食分类清晰明了。

美食信息管理: 管理美食信息,包括审核商家发布的美食信息、编辑、删除等操作。

美食订单管理: 管理美食订单,包括订单状态管理、配送情况跟踪等。

美食评价管理: 管理顾客对美食的评价,包括审核评价、回复用户等操作。

轮播图管理: 管理小程序首页的轮播图信息,提供系统宣传和促销活动宣传功能。

公告管理: 管理平台发布的公告信息,包括添加、编辑和删除公告等操作。

美食资讯: 管理平台发布的美食资讯内容,包括添加、编辑和删除资讯信息。

资讯分类: 管理美食资讯的分类信息,确保用户能够方便地浏览和获取信息。

以上是基于Spring Boot的美食推荐小程序的功能需求分析,涵盖了顾客用户、商家用户和管理员三个角色的功能设计与实现要求。

2.4用例分析

基于springboot的美食推荐小程序的完整UML用例图分别是图2-1,图2-2河图2-3。在参与者上包括顾客用户、商家用户以及管理员。

顾客用户角色的用例包括登录注册、首页、网站公告、美食信息、美食资讯、我的(基本信息、收藏、美食订单、美食评价)。

图2-1 基于springboot的美食推荐小程序顾客用户角色用例图

商家用户角色的用例包括登录注册、首页、网站公告、美食信息、美食资讯、我的(基本信息、收藏、美食信息、美食订单、美食评价)。

图2-2基于springboot的美食推荐小程序商家用户角色用例图

管理员角色的用例包括后台首页、系统用户、美食分类管理、美食信息管理、美食订单管理、美食评价管理、系统管理(轮播图管理)、公告管理、资源管理(美食资讯、资讯分类)。

图2-3 基于springboot的美食推荐小程序管理员角色用例图

3基于springboot的美食推荐小程序总体设计

在上一章节中分析了基于springboot的美食推荐小程序的功能性需求,并且根据需求分析了基于springboot的美食推荐小程序中的用例。那么接下来就要开始对基于springboot的美食推荐小程序架构、主要功能和数据库开始进行设计。

3.1系统功能模块设计

通过对基于springboot的美食推荐小程序的功能需求分析以及用例分析,得出了基于springboot的美食推荐小程序的功能模块图如图3-1所示。

图3-1基于springboot的美食推荐小程序功能模块图

3.3数据库设计

3.3.1 数据库E-R模型

下面是整个基于springboot的美食推荐小程序的数据库表的E-R实体关系图,如图3-2所示:

图3-2 基于springboot的美食推荐小程序E-R实体关系图

3.3.2 数据库表设计

通过上一小节中基于springboot的美食推荐小程序中总E-R关系图上得出一共需要创建很多个数据表。在此我主要罗列几个主要的数据库表结构设计。

表access_token (登陆访问时长)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

token_id

int

10

0

N

Y

临时访问牌ID

2

token

varchar

64

0

Y

N

临时访问牌

3

info

text

65535

0

Y

N

4

maxage

int

10

0

N

N

2

最大寿命:默认2小时

5

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

6

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

7

user_id

int

10

0

N

N

0

用户编号:

表article (文章:用于内容管理系统的文章)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

article_id

mediumint

8

0

N

Y

文章id:[0,8388607]

2

title

varchar

125

0

N

Y

标题:[0,125]用于文章和html的title标签中

3

type

varchar

64

0

N

N

0

文章分类:[0,1000]用来搜索指定类型的文章

4

hits

int

10

0

N

N

0

点击数:[0,1000000000]访问这篇文章的人次

5

praise_len

int

10

0

N

N

0

点赞数

6

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

7

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

8

source

varchar

255

0

Y

N

来源:[0,255]文章的出处

9

url

varchar

255

0

Y

N

来源地址:[0,255]用于跳转到发布该文章的网站

10

tag

varchar

255

0

Y

N

标签:[0,255]用于标注文章所属相关内容,多个标签用空格隔开

11

content

longtext

2147483647

0

Y

N

正文:文章的主体内容

12

img

varchar

255

0

Y

N

封面图

13

description

text

65535

0

Y

N

文章描述

表article_type (文章分类)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

type_id

smallint

5

0

N

Y

分类ID:[0,10000]

2

display

smallint

5

0

N

N

100

显示顺序:[0,1000]决定分类显示的先后顺序

3

name

varchar

16

0

N

N

分类名称:[2,16]

4

father_id

smallint

5

0

N

N

0

上级分类ID:[0,32767]

5

description

varchar

255

0

Y

N

描述:[0,255]描述该分类的作用

6

icon

text

65535

0

Y

N

分类图标:

7

url

varchar

255

0

Y

N

外链地址:[0,255]如果该分类是跳转到其他网站的情况下,就在该URL上设置

8

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

9

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表auth (用户权限管理)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

auth_id

int

10

0

N

Y

授权ID:

2

user_group

varchar

64

0

Y

N

用户组:

3

mod_name

varchar

64

0

Y

N

模块名:

4

table_name

varchar

64

0

Y

N

表名:

5

page_title

varchar

255

0

Y

N

页面标题:

6

path

varchar

255

0

Y

N

路由路径:

7

position

varchar

32

0

Y

N

位置:

8

mode

varchar

32

0

N

N

_blank

跳转方式:

9

add

tinyint

3

0

N

N

1

是否可增加:

10

del

tinyint

3

0

N

N

1

是否可删除:

11

set

tinyint

3

0

N

N

1

是否可修改:

12

get

tinyint

3

0

N

N

1

是否可查看:

13

field_add

text

65535

0

Y

N

添加字段:

14

field_set

text

65535

0

Y

N

修改字段:

15

field_get

text

65535

0

Y

N

查询字段:

16

table_nav_name

varchar

500

0

Y

N

跨表导航名称:

17

table_nav

varchar

500

0

Y

N

跨表导航:

18

option

text

65535

0

Y

N

配置:

19

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

20

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表collect (收藏)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

collect_id

int

10

0

N

Y

收藏ID:

2

user_id

int

10

0

N

N

0

收藏人ID:

3

source_table

varchar

255

0

Y

N

来源表:

4

source_field

varchar

255

0

Y

N

来源字段:

5

source_id

int

10

0

N

N

0

来源ID:

6

title

varchar

255

0

Y

N

标题:

7

img

varchar

255

0

Y

N

封面:

8

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

9

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表comment (评论)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

comment_id

int

10

0

N

Y

评论ID:

2

user_id

int

10

0

N

N

0

评论人ID:

3

reply_to_id

int

10

0

N

N

0

回复评论ID:空为0

4

content

longtext

2147483647

0

Y

N

内容:

5

nickname

varchar

255

0

Y

N

昵称:

6

avatar

varchar

255

0

Y

N

头像地址:[0,255]

7

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

9

source_table

varchar

255

0

Y

N

来源表:

10

source_field

varchar

255

0

Y

N

来源字段:

11

source_id

int

10

0

N

N

0

来源ID:

表customer_users (顾客用户)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

customer_users_id

int

10

0

N

Y

顾客用户ID

2

customer_name

varchar

64

0

Y

N

顾客姓名

3

customer_gender

varchar

64

0

Y

N

顾客性别

4

examine_state

varchar

16

0

N

N

已通过

审核状态

5

user_id

int

10

0

N

N

0

用户ID

6

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

7

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表food_classification (美食分类)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

food_classification_id

int

10

0

N

Y

美食分类ID

2

food_category

varchar

64

0

Y

N

美食类别

3

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

4

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表food_evaluation (美食评价)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

food_evaluation_id

int

10

0

N

Y

美食评价ID

2

order_number

varchar

64

0

Y

N

订单编号

3

merchant_users

int

10

0

Y

N

0

商家用户

4

restaurant_name

varchar

64

0

Y

N

餐厅名称

5

food_name

varchar

64

0

Y

N

美食名称

6

food_category

varchar

64

0

Y

N

美食类别

7

food_prices

varchar

64

0

Y

N

美食价格

8

taste_of_dishes

varchar

64

0

Y

N

菜品口味

9

customer_users

int

10

0

Y

N

0

顾客用户

10

customer_name

varchar

64

0

Y

N

顾客姓名

11

order_quantity

varchar

64

0

Y

N

下单数量

12

evaluation_score

varchar

64

0

Y

N

评价分数

13

evaluation_content

text

65535

0

Y

N

评价内容

14

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

15

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表food_information (美食信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

food_information_id

int

10

0

N

Y

美食信息ID

2

merchant_users

int

10

0

Y

N

0

商家用户

3

restaurant_name

varchar

64

0

Y

N

餐厅名称

4

food_name

varchar

64

0

Y

N

美食名称

5

food_category

varchar

64

0

Y

N

美食类别

6

food_prices

varchar

64

0

Y

N

美食价格

7

food_pictures

varchar

255

0

Y

N

美食图片

8

taste_of_dishes

varchar

64

0

Y

N

菜品口味

9

food_rating

varchar

64

0

Y

N

美食评分

10

food_ingredients

text

65535

0

Y

N

美食食材

11

food_recipes

text

65535

0

Y

N

美食做法

12

food_details

text

65535

0

Y

N

美食详情

13

hits

int

10

0

N

N

0

点击数

14

praise_len

int

10

0

N

N

0

点赞数

15

recommend

int

10

0

N

N

0

智能推荐

16

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

17

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表food_orders (美食订单)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

food_orders_id

int

10

0

N

Y

美食订单ID

2

order_number

varchar

64

0

Y

N

订单编号

3

merchant_users

int

10

0

Y

N

0

商家用户

4

restaurant_name

varchar

64

0

Y

N

餐厅名称

5

food_name

varchar

64

0

Y

N

美食名称

6

food_category

varchar

64

0

Y

N

美食类别

7

food_prices

varchar

64

0

Y

N

美食价格

8

taste_of_dishes

varchar

64

0

Y

N

菜品口味

9

customer_users

int

10

0

Y

N

0

顾客用户

10

customer_name

varchar

64

0

Y

N

顾客姓名

11

order_quantity

varchar

64

0

Y

N

下单数量

12

total_order_price

varchar

64

0

Y

N

订单总价

13

order_remarks

text

65535

0

Y

N

订单备注

14

pay_state

varchar

16

0

N

N

未支付

支付状态

15

pay_type

varchar

16

0

Y

N

支付类型: 微信、支付宝、网银

16

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

17

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表hits (用户点击)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

hits_id

int

10

0

N

Y

点赞ID:

2

user_id

int

10

0

N

N

0

点赞人:

3

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

4

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

5

source_table

varchar

255

0

Y

N

来源表:

6

source_field

varchar

255

0

Y

N

来源字段:

7

source_id

int

10

0

N

N

0

来源ID:

表merchant_users (商家用户)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

merchant_users_id

int

10

0

N

Y

商家用户ID

2

restaurant_name

varchar

64

0

Y

N

餐厅名称

3

merchant_name

varchar

64

0

Y

N

商家姓名

4

examine_state

varchar

16

0

N

N

已通过

审核状态

5

user_id

int

10

0

N

N

0

用户ID

6

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

7

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表notice (公告)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

notice_id

mediumint

8

0

N

Y

公告id:

2

title

varchar

125

0

N

N

标题:

3

content

longtext

2147483647

0

Y

N

正文:

4

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

5

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表praise (点赞)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

praise_id

int

10

0

N

Y

点赞ID:

2

user_id

int

10

0

N

N

0

点赞人:

3

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

4

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

5

source_table

varchar

255

0

Y

N

来源表:

6

source_field

varchar

255

0

Y

N

来源字段:

7

source_id

int

10

0

N

N

0

来源ID:

8

status

bit

1

0

N

N

1

点赞状态:1为点赞,0已取消

表slides (轮播图)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

slides_id

int

10

0

N

Y

轮播图ID:

2

title

varchar

64

0

Y

N

标题:

3

content

varchar

255

0

Y

N

内容:

4

url

varchar

255

0

Y

N

链接:

5

img

varchar

255

0

Y

N

轮播图:

6

hits

int

10

0

N

N

0

点击量:

7

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表upload (文件上传)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

upload_id

int

10

0

N

Y

上传ID

2

name

varchar

64

0

Y

N

文件名

3

path

varchar

255

0

Y

N

访问路径

4

file

varchar

255

0

Y

N

文件路径

5

display

varchar

255

0

Y

N

显示顺序

6

father_id

int

10

0

Y

N

0

父级ID

7

dir

varchar

255

0

Y

N

文件夹

8

type

varchar

32

0

Y

N

文件类型

表user (用户账户:用于保存用户登录信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

user_id

mediumint

8

0

N

Y

用户ID:[0,8388607]用户获取其他与用户相关的数据

2

state

smallint

5

0

N

N

1

账户状态:[0,10](1可用|2异常|3已冻结|4已注销)

3

user_group

varchar

32

0

Y

N

所在用户组:[0,32767]决定用户身份和权限

4

login_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

上次登录时间:

5

phone

varchar

11

0

Y

N

手机号码:[0,11]用户的手机号码,用于找回密码时或登录时

6

phone_state

smallint

5

0

N

N

0

手机认证:[0,1](0未认证|1审核中|2已认证)

7

username

varchar

16

0

N

N

用户名:[0,16]用户登录时所用的账户名称

8

nickname

varchar

16

0

Y

N

昵称:[0,16]

9

password

varchar

64

0

N

N

密码:[0,32]用户登录所需的密码,由6-16位数字或英文组成

10

email

varchar

64

0

Y

N

邮箱:[0,64]用户的邮箱,用于找回密码时或登录时

11

email_state

smallint

5

0

N

N

0

邮箱认证:[0,1](0未认证|1审核中|2已认证)

12

avatar

varchar

255

0

Y

N

头像地址:[0,255]

13

open_id

varchar

255

0

Y

N

针对获取用户信息字段

14

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

15

vip_level

varchar

255

0

Y

N

会员等级

16

vip_discount

double

11

2

Y

N

0.00

会员折扣

表user_group (用户组:用于用户前端身份和鉴权)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

group_id

mediumint

8

0

N

Y

用户组ID:[0,8388607]

2

display

smallint

5

0

N

N

100

显示顺序:[0,1000]

3

name

varchar

16

0

N

N

名称:[0,16]

4

description

varchar

255

0

Y

N

描述:[0,255]描述该用户组的特点或权限范围

5

source_table

varchar

255

0

Y

N

来源表:

6

source_field

varchar

255

0

Y

N

来源字段:

7

source_id

int

10

0

N

N

0

来源ID:

8

register

smallint

5

0

Y

N

0

注册位置:

9

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

10

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

4 基于springboot的美食推荐小程序实现

基于springboot的美食推荐小程序划分了微信小程序顾客用户端和商家用户、web后台管理员端,微信端实现登录注册、首页、网站公告、美食信息、美食资讯、我的(基本信息、收藏、美食订单、美食评价)等功能,web端是为后台管理员提供后台首页、系统用户、美食分类管理、美食信息管理、美食订单管理、美食评价管理、系统管理(轮播图管理)、公告管理、资源管理(美食资讯、资讯分类)的平台。

4.1 前台微信端

4.1.1 用户注册界面

不是基于springboot的美食推荐小程序的用户可以通过微信小程序在线进行注册,填写上自己的账号、密码、重复密码、昵称、邮箱登信息后点击“提交”按钮后将会验证是否有非空数据,再验证密码和重复密码是否一样,最后验证是否账号重复,都验证没问题后即可注册成功。注册实现了用户注册和发布者注册两部分,其用户注册界面展示如下图4-1所示。

图4-1用户注册界面图

4.1.2 用户登录界面

微信小程序上注册后的用户可以通过自己的用户名和密码进行登录,在用户填写好自己的用户名和密码信息并点击“登录”按钮后,将会先验证是否有非空数据,再验证填写的用户信息和数据库中保存的是否一致,一致后将会登录成功,登录成功后将会在左上角上显示用户信息;否则将会提示相应错误信息,用户登录界面如下图4-2所示。

图4-2用户登录界面图

输入有效的用户名和密码信息,点击“登录”按钮,自动跳转到“首页”页面,首页界面如下图4-3所示。

图4-3首页界面图

4.1.3 美食资讯界面

用户点击美食资讯按钮,可以进入美食资讯列表,点击感兴趣的美食资讯,进入美食资讯详情页面,用户可以进行查看、点赞、收藏、评论等操作,界面如下图4-4所示。

图4-4美食资讯详情界面图

4.1.4 美食信息详情界面

用户点击美食信息可以进入美食信息列表,点击任意一个美食信息后将可以进入到该美食信息的详情界面中,用户可以查看美食信息的详细介绍,还可以进行下单、点赞、收藏、评论等,美食信息详情界面如下图4-5所示。

图4-5美食信息详情界面图

4.1.5 美食订单界面

在美食信息详情页面左下角点击“下单”后进入到“美食订单”界面,输入相关信息后,点击“提交”按钮后将会生成自己的订单信息,美食订单界面如下图4-6所示。

图4-6美食订单界面图

4.1.6美食评价界面

用户点击“个人中心”-“美食评价”,可以对所下单的美食提交评价,界面如下图4-7所示。

图4-7美食评价界面图

4.1.7我的界面

点击基于springboot的美食推荐小程序端底部的“我的”菜单进行“我的”页面,用户可以管理自己的基本信息、收藏、美食订单、美食评价等,界面如下图4-8所示。

图4-8我的界面图

4.2 后台商家用户用户端

4.2.1 美食信息界面

商家用户点击我的“美食信息”这一菜单, 可以发布和管理美食信息,包括美食名称、价格、口味等。界面如下图4-9所示。

图4-9美食信息发布界面图

4.2.2 美食订单界面

商家用户点击我的“美食订单”这一菜单,可以查看顾客的订单信息。界面如下图4-10所示。

图4-10美食订单列表界面图

4.2.3 美食评价界面

商家用户点击我的“美食评价”菜单后,可以查看顾客提交的美食评价信息,界面如下图4-11所示。

图4-11美食评价列表界面图

4.3后台管理员端

4.3.1 系统用户界面

管理员点击“系统用户”这一菜单会显示管理员、顾客用户、商家用户用户这三个子菜单,管理员可以对这三个角色的信息进行增删改查操作。界面如下图4-12所示。

图4-12用户管理界面图

4.3.2美食信息管理界面

管理员点击后台左边的“美食信息管理”菜单后将可以管理美食信息,包括审核商家发布的美食信息、编辑、删除等操作。界面如下图4-13所示。

图4-13美食信息列表界面图

4.3.3系统管理界面

管理员点击“系统管理”这一菜单会显示轮播图这一个子菜单,管理员可以对前台展示的轮播图进行设置,界面如下图所示。

图4-14系统管理界面图

4.3.4公告管理界面

点击“公告管理”这个菜单,可以查看到系统中所有添加的通知公告,支持通过标题对通知公告进行查询,添加、删除等操作。通知公告管理界面如下图所示。

图4-15公告界面图

4.3.5资源管理界面

管理员点击“资源管理”这一菜单会显示美食资讯、资讯分类这两个子菜单,管理员可以对这两部分涉及到的功能进行更新维护,更好的服务于前台用户。界面如下图所示。


                                                图4-16资源管理界面图


5 基于springboot的美食推荐小程序测试

基于springboot的美食推荐小程序测试是为了检验软件是否达到设计要求,是否存在错误,通过测试的方法来检查基于springboot的美食推荐小程序,以便发现基于springboot的美食推荐小程序中的错误。测试工作是保证基于springboot的美食推荐小程序质量的关键。

5.1系统测试

微信端上用户在线下单功能测试:

表5-1微信端上用户在线下单功能测试用例表

测试名称

测试功能

操作

操作过程

预期结果

测试结果

在线下单功能模块测试

美食信息详情信息正常的显示

浏览美食信息详情信息

在小程序端上选择一个美食信息将会进入该美食信息的详情界面,同时可以下单、评论、收藏。

进入该美食信息的详情信息界面

正确

在线下单功能模块测试

美食信息详情信息正常的显示

浏览美食信息详情信息

点击“下单”填写下单信息,点击“提交”按钮。

生成自己的订单信息。

正确

微信端上评论功能测试:

表5-2微信端上评论功能测试用例表

测试名称

测试功能

操作

操作过程

预期结果

测试结果

评论功能模块测试

美食资讯正常的显示

浏览美食资讯详情信息

点击“美食资讯”进入美食资讯详情页面,点击“评论”输入自己的评论内容。

评论成功

正确

web后台端上商家用户发布美食信息功能测试:

表5-3web后台端上商家用户发布美食信息功能测试用例表

测试名称

测试功能

操作

操作过程

预期结果

测试结果

商家用户发布美食信息功能测试

添加美食信息的情况

输入新美食信息的基本信息

后台选择“美食信息管理”菜单后,填写新美食信息基本信息后点击“提交”按钮

新美食信息发布成功

正确

5.2测试结果

通过编写了基于springboot的美食推荐小程序的测试用例,已经检测完毕了5.1章节中的3大模块,它为基于springboot的美食推荐小程序系统的后期推广运营提供了强力的技术支撑。

                                                                 总结与展望

本次基于springboot的美食推荐小程序的设计与实现,功能方面,通过功能模块图区分该程序的用户端与管理端各自的功能权限;数据库方面,数据库使用口碑较好的mysql进行数据的存储,开源的mysql等技术的使用,相对来说体积较小,服务稳定,减少系统开发成本费用,通过数据库表的E-R实体关系图建立了表单与表单之间的连接,区分不同的表单之间的关系,更好的完善数据库的内容;测试方面,通过测试用例检查基于springboot的美食推荐小程序的设计缺陷和程序存在的错误,在系统测试阶段的过程中,出现了一些问题,例如,注册信息,没有规范用户在注册页面填写信息时输入两次密码,而导致后期登录错误,最后通过多次修改程序和测试解决了问题。最终经过不断的检测、修改,实现项目的稳定,达到了预期的设计效果。

系统整体的功能到达预期的效果,但页面的美化方面还是存在一些不足,例如:小程序中的图标过于简洁;wxss页面的渲染布局方面不够完善,人们在使用软件过程中,对某些功能不易找寻,针对此次项目产生的问题,日后将不断改进,使该项目更加完善。


参考文献

[1]Liang C .School Vehicle Management System Based on JAVA Language[J].Academic Journal of Computing  Information Science,2023,6(9):

[2]马铭华.基于微信小程序的贵州美食推广系统[J].软件,2023,44(08):147-149.

[3]吴思源,曹湛慧,黄志豪等.“轻享健康”微信小程序的设计与实现[J].软件,2023,44(08):69-71+79.

[4]Allen C ,Mazanko A ,Abdehagh N , et al.A New ODE-Based Julia Implementation of the Anaerobic Digestion Model No. 1 Greatly Outperforms Existing DAE-Based Java and Python Implementations[J].Processes,2023,11(7):

[5]李亚君.基于ASP.NET的美食商城后台管理系统设计与实现[J].机电信息,2022,(16):29-33.DOI:10.19514/j.cnki.cn32-1628/tm.2022.16.008.

[6]李凯.基于项目特征与用户偏好的美食推荐系统的设计与实现[D].北京邮电大学,2022.DOI:10.26969/d.cnki.gbydu.2022.001535.

[7]张晓莹,李靖,段艳慧等.全国著名美食服务系统[J].北京测绘,2022,36(03):238-242.DOI:10.19580/j.cnki.1007-3000.2022.03.004.

[8]邓涵兮,陈志华.基于网络评论的美食推荐系统[J].中国传媒科技,2022,(03):39-41.DOI:10.19483/j.cnki.11-4653/n.2022.03.011.

[9]周蕾,李强.基于LBS应用的淮安美食推荐类系统的研究[J].食品安全导刊,2021,(21):172-173.DOI:10.16043/j.cnki.cfs.2021.21.083.

[10]鲜易洲,杨蕊,吴蓉等.时食美食分享系统的设计与分析[J].电脑知识与技术,2021,17(09):85-87.DOI:10.14004/j.cnki.ckt.2021.0845.

[11]李晶.基于微信小程序的美食推荐系统[D].兰州大学,2020.DOI:10.27204/d.cnki.glzhu.2020.003430.

[12]孙浩.基于Android的个性化美食推荐系统的研究与实现[D].辽宁大学,2020.DOI:10.27209/d.cnki.glniu.2020.000783.

[13]李伟,鸭脚板旅游地方美食推荐系统V1.0.湖南省,湖南鸭脚板旅游电子商务有限责任公司,2019-12-26.

[14]马宇泽.基于PHP的美食营销系统的后端设计与开发[D].南京邮电大学,2019.DOI:10.27251/d.cnki.gnjdc.2019.001136.

[15]黄安.基于PHP+Mysql技术的网站设计与实现——以美食网站系统的设计为例[J].轻纺工业与技术,2019,48(07):168-170.

[16]徐林.基于Spark MLlib协同过滤算法的美食推荐系统研究[J].吉林大学学报(信息科学版),2019,37(02):181-185.DOI:10.19292/j.cnki.jdxxp.2019.02.011.

[17]朱明秀.基于Android的美食APP设计与实现——以桂林美食APP为例[J].信息与电脑(理论版),2019,(05):135-137.

[18]李恋.基于JAVA WEB的美食网设计与实现[J].福建电脑,2019,35(02):78-79.DOI:10.16707/j.cnki.fjpc.2019.02.025.

[19]宋丹丹.基于微信小程序的美食点餐推荐系统的设计与实现[J].信息通信,2017,(12):89-90.

[20]Cuevas P R ,Guia D A ,Demont M .Developing a framework of gastronomic systems research to unravel drivers of food choice[J].International Journal of Gastronomy and Food Science,2017,988-99.

                                                      致谢

至此论文结束,感谢您的阅读。首先,我要感谢我的父母对我的支持与理解,在两年的本科学习生活中,倾其所能的爱护我,使我能够心无旁骛,全心全意的投入到学习中;不断鼓励我,让我能够拥有不断前进的动力。其次还要感谢我的导师,感谢在这段时间给予我有效的建议,以至于我的毕设有了整体的设计思路,尽管我在实习期间很忙,论文撰写总是停停改改,但是导师依然十分负责,时不时的询问我的任务进展情况,跟进我的论文进度。在老师的帮助下,我逐步完成了自己的论文和程序,从导师身上也学习到很多知识,和经验,这些知识和经验令我受益匪浅。

此外,还要感谢我的同学,热心的解答了我在程序上遇到的问题,是他们在我编写程序过程中给了我很多的启发和感想,也帮助了我对于程序的调试和检测,让我受益良多。在这两年的时间里,我学会了许多专业的知识,还有老师们的谆谆教诲和同学们的帮助使我不断进步,能够做得更好;我也会不断给自己充电,不断突破,成为更好的自己。

最后向所有关心我、帮助我的老师及同学们表示衷心的感谢!

                                      点赞+收藏+关注 → 私信领取本源代码、数据库

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值