基于SpringBoot和微信小程序的餐馆点餐系统的设计和实现(一)

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群版 2核4GB 100GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用版 2核4GB 50GB
简介: 基于SpringBoot和微信小程序的餐馆点餐系统的设计和实现

摘要

餐馆点餐系统意味着用户可以在线订购、订购和支付配送的点餐系统。收到订单后,商家准备食物,送货,送货上门。

本文在深入回顾和分析当前食品行业的规划模式和传统餐饮应用的业务流程的基础上,探讨了现代生活方式和传统用途的局限性。随着生活的加速,在餐馆等待食物有时是不令人满意的,浪费时间和降低生产力。传统的应用程序过于复杂,难以定位。为了解决这一问题,结合 MySQL 数据库、前端 Vue 开发技术和 springBoot 框架,设计了微信的小程序平台和基于B/S模式的订餐系统。本系统结合了微信小程序的优点和用户识别登录功能,在线订购,创建用户反馈命令,用户投诉等功能。这是未来信息时代的发展趋势。

关键词:微信小程序;点餐系统;Vue;SpringBoot

1 绪论

1.1 研究背景及意义

1.1.1 研究背景

如今,基于手机的移动互联网技术快速发展,这对于传统食品行业产生了重要影响。目前很多餐饮业企业依然在使用手动管理的方式,维护着自己店铺的订单信息,这样的手动方式过分依靠经验,含金量低,也不利于餐饮业的快速发展和餐馆的扩大。目前很多餐馆企业采用连锁经营和集团经营。不管性能如何,都使用手动操作。为了适应公司发展的需求,人力成本难以去适配,从而制约了整个餐馆行业的品牌发展和服务水准的提升。在食品行业,虽然开始引进各种各样的餐厅点餐系统,提高了效率,但也存在需要下载特定应用程序等缺点,带来了不便。随着微信的日益普及,几乎所有老百姓都安装了手机微信,使用了微信小程序的餐馆点餐系统可以节省了顾客的宝贵时间,小程序可以自动控制订单,不会出现失误,避免了由于服务器没有明确的动作和识别自动化管理而导致的遗漏和点餐错误。简化业务流程,减少浪费和绕过管理,降低运营成本等。

餐厅点餐系统是B/S系统,它的出现改变了以往手工管理美食点餐信息的方式。餐厅管理者使用计算机管理餐厅点餐信息,具有手工无法比拟的优点。例如,查询餐厅订单信息方便快捷,数据存储量大,可靠性高,方便餐厅管理者捕捉客户订单状态。餐厅点餐系统以其方便快捷的特点影响着传统的点餐方式。正因为这些优点,它更符合现代社会人们快速高效的生活方式。

1.1.2 研究意义

基于移动互联网的餐厅点餐系统正在逐步取代传统的人工点餐模式。微信是最受欢迎的移动社交工具。基于微信的餐厅点餐模式正在成为美食界的主流。本文在介绍系统功能的基础上,采用流行的Nginx技术实现了餐厅点餐系统Springboot和Vue的基本功能,并采用MVC的设计思想,在此基础上实现了餐饮企业产品推荐和营销的数据挖掘,这大大提高了餐厅的点餐效率和公司的效率和竞争力。

开发该系统的目的是为了解决烹饪手工点餐时所面临的一系列问题。

开发餐厅点餐系统可以有效提高餐厅的服务效率。解决了目前餐饮客户的点餐管理问题,实现了餐厅经理和餐厅经营者的点餐信息透明化,使餐厅经理能够及时熟练地记录客户的点餐状态,及时与餐厅员工沟通,提高服务质量

1.2 国内外研究现状

目前,国外电子订货非常流行,特别是在欧美国家。除偏远山区外,餐厅多采用网上订餐,网上订餐技术相对成熟,系统设计也较为科学。国家美食采用两种线下订餐方式和免费的在线订餐服务。随着互联网的快速发展,网络用户呈几何级数增长,许多餐厅开始使用网上订餐系统。

餐厅点餐系统的理论基础仍然是真实的点餐模式,但是它在统计和处理顾客点餐信息上节省了大量的时间和人员,询问客户订购信息方便多,方便客户的订单管理。

随着网络订餐的推广,国内越来越多的餐厅意识到网络订餐模式在节省订餐时间、分散顾客注意力、减轻餐厅压力等方面发挥了重要作用。尽管有一些困难,全国各地的餐馆都在尝试网上订餐。中国的网上餐厅点餐系统在本世纪发展迅速。大多数酒店从实践入手,取得了良好的效果,也提高了酒店的服务水平和经济效益。

1.3 本课题主要研究内容

本文将基于餐厅点餐系统的设计与实现,开发一个餐厅点餐系统,对该文件进行了以下工作:

  1. 考察了国内外餐厅点餐系统研究的背景,分析了目前现有的的餐馆点餐系统,接着分析开发餐馆点餐系统的意义。
  2. 描述开发餐馆点餐系统所需的相关技术,需要学习哪些技术框架。
  3. 收集餐馆点餐系统的功能需要,分析这个系统所需实现的功能,还有一些非完全依赖的功能需求,如安全性和交互性。
  4. 点餐系统的总体设计,主要从总体架构、功能设计和数据库级的角度进行说明。
  5. 系统及界面功能显示
  6. 最后,对系统的设计与实现进行了全面的总结,提出了餐馆点餐系统需要改进的地方,和未来的完善方向。

1.4 本文的组织结构

我将本文件分为六章,下文将详细说明。

第一章,绪论。第一章主要介绍餐馆点餐的背景、选题依据、开发目的,分析国内外已有的研究成果,对国内外的研究成果进行了详细的描述,并组织了本章的结构。

第二章论述了系统的必要技术框架。在本章中,我们研究了餐厅点餐系统的前端web规划和后端业务逻辑规划所需的框架和组件库。

第三章对系统需求进行了合理详细的分析,包括功能需求和非功能需求。从几个方面分析了开发该系统的可行性。

第四章提出了一个完整、清晰、系统的结构。本章解释了系统的结构,并总结了一个简要的总体思路。并对餐厅点餐系统的总体结构,管理系统的五个功能模块进行了详细的分析,最后设计数据库表格。

第五章阐述餐馆点餐系统的图文介绍,对点餐的功能进行演示。

第六章,结论与展望。对系统的设计与实现进行了全面的总结,提出了餐馆点餐系统需要改进的地方,和未来的完善方向。

2系统所需技术框架的研究

餐馆点餐系统使用 VueSpringBoot 进行开发,数据库采用 MySQL,本章将对这些技术进行详细介绍。

2.1 Spring

Spring 是一个热门的后端框架,内部架构图如图 2-1 所示。

  1. 能够简化餐馆点餐系统开发。容器控制可以显著减少餐馆点餐逻辑之间的耦合
  2. 单元测试餐馆点餐功能方便。
  3. 支持AOP编程,从而异步记录点餐数据。
  4. 声明式点餐的事务支持
  5. 促进三方优秀框架的整合。

2.2 SpringBoot

SpringBoot 是国内热门的后端框架,在前后端分离项目中被广泛运用。它采用了约定大于配置的理念,对比传统的SSM来说,简化了大量配置,对后端开发人员非常友好,所以餐馆点餐系统采用SpringBoot作为后端主框架。

2.3 Vue

Vue 是最近非常热门的前端开发框架,Vue可以组件化的编程,如餐馆点餐系统中的图片上传功能,Vue可以将其封装后组件,在多个模块中重复使用,降低前端开发的编码量,对开发者非常友好。

2.4 MySQL数据库

MySQL 是全球排名前三的数据库,适用于中小型管理系统,所以符合餐馆点餐系统的技术选型。MySQL上手容易,学习成本低,所以餐馆点餐系统采用了MySQL作为数据库。


3系统需求分析

3.1 系统需求分析概述

根据第一章的餐馆点餐研究,发现大多数餐厅点餐系统用于连锁餐馆行业,它们已经实现了加盟店的数据互联互通,比如顾客在餐厅点餐系统下订单,餐厅同时接收来自顾客所在餐厅的订单。

3.2 功能需求的分析

餐馆点餐系统的功能需要包括五个法米娜,分别是餐厅管理员模块、菜品类目管理模块、菜品管理模块、菜品订单模块、排号管理模块五大模块,是基于浏览器运行的web管理后端,其中各个模块详细说明如下:

(1)餐厅管理员模块

餐厅管理员模块中,可以实现对当前餐厅管理人员的基础维护。餐厅管理员在餐馆点餐系统中拥有全部权限,包括查看系统的轮播图、菜品类目、菜品、查看菜品订单、查看顾客排号等功能。餐厅管理员的权限很大,所以要专门做一个模块来专门管理,其中管理员的字段包括姓名、电话、微信唯一标识、登陆密码、菜单权限。

(2)菜品类目管理模块

菜品类目是静态的概念,就和Java的类一样,类目是对餐厅的菜品信息的抽象,类目是菜品的属性之一。这个模块的目的,就是让餐厅管理员更为方便的管理川菜、粤菜这样的菜品类目。另外在这个模块还应可以上传图片,方便可视化的保存菜品类目档案。菜品类目的字段应当有类目名称、类目标识,管理员可以进行增删改查操作。

(3)菜品管理模块

菜品管理模块,用于录入了餐馆的具体菜品档案。菜品应当包括菜品ID、名称、单价、库存剩余量、描述、类目、图片等,餐馆管理员可以在这个模块增删改查菜品档案。

(4)菜品订单管理模块

菜品订单是一个动态的概念,如同Java的对象范畴。菜品订单管理模块,就是用来维护了顾客在餐厅的下单信息,订单字段需要把控订单唯一标识、顾客姓名、联系方式、微信号、总金额、是否付款以及催单情况。用户应当可以在详情页查询更为详细的订单信息,也可以根据自己的需要取消订单,告知顾客当前不能做该菜品。另外还需要编写一键导出Excel的功能,方便餐厅管理员的日常使用。

(5)排号管理模块

订单排号管理模块,维护了顾客在餐厅的排号信息,杜绝顾客插队的不文明行为,餐厅前台工作人员可以根据叫号顺序,促进餐馆的文明排队。

3.3 非功能需求分析

3.3.1 可靠性

餐馆点餐系统涉及到钱,所以必须保证系统数据的真实性和稳定性,应当避免因系统更新和升级而导致系统不稳定。

3.3.2 易用性

前台员工使用该系统的计算能力,尤其是餐厅老板、餐厅厨师和餐厅经营者的计算能力是不一致的。系统的操作模式必须设计得易于学习和接受,并且在操作的每个细节中都充分考虑到可能出现的操作错误。

3.3.3 维护性

该系统每天至少有22小时可用,并允许对每天使用的数据进行统计评估,以方便后续更新迭代。

3.4 可行性分析

餐馆点餐系统可以从现有系统分析技术可行性分析社会因素分析三个方面分析可行性。

3.4.1 对现有系统的分析

餐馆点餐系统的投入使用,是有重要的意义的。它可以使顾客吃得更舒适、更快。他们只需要注册他们的帐户,并根据需要更改他们的个人信息,就可以在微信手机上订购。用户也可以根据需要随时订货。你可以很容易地提前知道餐厅里有哪些菜,并评估是否有可能点餐。控制简单快捷;小的微信订购程序有助于减少餐馆排队的次数。大量顾客必须面对面订购,这增加了感染的可能性。餐厅前台员工的工作量也很长,不利于人本工作的理念。针对这一问题,餐厅点餐系统帮助减少了客户点餐的等待时间,减少了客户点餐等待时间的比例,在一定程度上提高了客户点餐的效率。

3.4.2 技术的可行性分析

餐馆点餐系统采用国内热门的 SpringBoot 框架作为后端开发框架,这个框架采用约定大于配置的思想,简化了大量配置,对开发者非常友好。界面采用 View UI 组件库,能够实现复制拼接开发,对前端开发工作人员很是友好。数据库采用国内热门的 MySQLMySQL 是一个开源的关系型数据库,上手比较简单。总之,餐馆点餐系统的开发没有技术难题。

3.4.3 社会因素的分析

如今,中国电子订餐水平稳步提升,“六项服务”不断推进,政府领导下的“7+1”美食创新大战蓬勃发展。

计算机和网络技术在餐厅点餐领域的应用,可以有效解决点餐难、防疫难等问题,节约时间,合理配置资源,提高顾客在餐厅点餐的积极性,所以餐厅点餐系统是非常重要的。最近,中国在电子控制方面取得了新的进展。


4系统整体结构设计

4.1 系统设计的基本思想

餐馆点餐系统采用了前后端分离的架构,前端和后端通过API进行连接,后端采用 MVC 三层架构,本章将详细讲解餐馆点餐系统的架构设计,使我们的点餐系统更具可伸缩性和直观性。

4.2 系统总体架构设计

在餐馆点餐系统的架构设计中,我划分为五大模块,如图4-1所示。

4.4 系统详细设计

4.4.1 餐厅管理员模块的功能设计

餐厅管理员模块中,可以实现对当前餐厅管理人员的基础维护。餐厅管理员在餐馆点餐系统中拥有全部权限,包括查看系统的轮播图、菜品类目、菜品、查看菜品订单、查看顾客排号等功能。餐厅管理员的权限很大,所以要专门做一个模块来专门管理,其中管理员的字段包括姓名、电话、微信唯一标识、登陆密码、菜单权限,如图4-2所示。

4.4.2 菜品类目管理模块的功能设计

菜品类目是静态的概念,就和Java的类一样,类目是对餐厅的菜品信息的抽象,类目是菜品的属性之一。这个模块的目的,就是让餐厅管理员更为方便的管理川菜、粤菜这样的菜品类目。另外在这个模块还应可以上传图片,方便可视化的保存菜品类目档案。菜品类目的字段应当有类目名称、类目标识,管理员可以进行基础的维护操作,如图4-3所示。

4.4.3 菜品管理模块的功能设计

菜品管理模块,用于录入了餐馆的具体菜品档案。菜品应当包括菜品ID、名称、单价、库存剩余量、描述、类目、图片等,增删改查是餐馆管理员可以在这个模块操作的功能,如图4-4所示。

4.4.4 菜品订单管理模块的功能设计

菜品订单是一个动态的概念,如同Java的对象范畴。菜品订单管理模块,就是用来维护了顾客在餐厅的下单信息,订单字段需要把控订单唯一标识、顾客姓名、联系方式、微信号、总金额、是否付款以及催单情况。用户应当可以在详情页查询更为详细的订单信息,也可以根据自己的需要取消订单,告知顾客当前不能做该菜品。另外还需要编写一键导出Excel的功能,方便餐厅管理员的日常使用,如图4-5所示。

4.4.5 排号管理模块的功能设计

订单排号管理模块,维护了顾客在餐厅的排号信息,杜绝顾客插队的不文明行为,餐厅前台工作人员可以根据叫号顺序,对其进行服务,保障了顾客应有的合法权益,如图4-6所示。

4.5 数据库分析与设计

餐馆点餐系统涉及到点餐信息,数据库是非常专业的,需要进行特殊设计处理。下文将对数据库进行结构设计。

4.5.1 系统概念层结构设计

通过对餐馆点餐数据库的需求、功能和各个模块的设计,对数据库的各个模块进行了设计,并在E-R图上进行了显示。

餐馆管理员模块是对餐馆人员账号的提供维护支持,其中餐馆人员的信息包括了账号的工号、真实姓名、电话、生日、身份证号、入职日期、性别、备注等,其中工号是主键,如图4-7所示。

菜品类型管理模块是为了实现将菜品的信息分类存储,分类包括分类名称、分类ID、分类图片、备注、创建时间等等,如图4-8所示。

菜品管理模块功能主要是用于餐厅菜品档案的存储,例如菜品id、菜品名称、单价、库存、菜品描述、菜品类目、菜品图片等信息,如图4-9所示。

菜品订单主要是对顾客的下单信息进行记录和存储,例如顾客昵称、手机号、下单时间、下单金额、接单人员工号、接单人员姓名、是否支付、是否完成等信息,如图4-10所示。

餐馆点餐系统的全局E-R图如图4-11所示。

4.5.2 逻辑结构设计

下面餐馆点餐系统重要数据库表格的逻辑结构设计。

4.6 本章小结

本部分是餐馆点餐系统设计的一部分。在本章中,系统设计的基本思想和系统的总体设计,以及各个模块的设计,分别设计了餐厅管理员模块、轮播图、菜品类目、对系统的点餐订单、订单分类模块。


相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
3天前
|
JavaScript Java 测试技术
基于SpringBoot+Vue+uniapp的智慧农业小程序的详细设计和实现(源码+lw+部署文档+讲解等)
基于SpringBoot+Vue+uniapp的智慧农业小程序的详细设计和实现(源码+lw+部署文档+讲解等)
19 6
|
3天前
|
JavaScript Java 测试技术
基于SpringBoot+Vue+uniapp的在线答题微信小程序的详细设计和实现(源码+lw+部署文档+讲解等)
基于SpringBoot+Vue+uniapp的在线答题微信小程序的详细设计和实现(源码+lw+部署文档+讲解等)
15 3
|
2天前
|
小程序 JavaScript Java
基于Java微信小程序火锅店点餐系统设计和实现(源码+LW+调试文档+讲解等)
基于Java微信小程序火锅店点餐系统设计和实现(源码+LW+调试文档+讲解等)
|
6天前
|
JavaScript Java 测试技术
基于SpringBoot+Vue+uniapp的校园导航微信小程序的详细设计和实现(源码+lw+部署文档+讲解等)
基于SpringBoot+Vue+uniapp的校园导航微信小程序的详细设计和实现(源码+lw+部署文档+讲解等)
24 4
|
2天前
|
小程序 Java Maven
springboot开发微信小程序
springboot开发微信小程序
7 0
|
3天前
|
JavaScript Java 测试技术
基于SpringBoot+Vue的汽车4s店管理系统的详细设计和实现(源码+lw+部署文档+讲解等)
基于SpringBoot+Vue的汽车4s店管理系统的详细设计和实现(源码+lw+部署文档+讲解等)
34 6
基于SpringBoot+Vue的汽车4s店管理系统的详细设计和实现(源码+lw+部署文档+讲解等)
|
3天前
|
JavaScript Java 测试技术
基于SpringBoot+Vue的拍卖管理系统的详细设计和实现(源码+lw+部署文档+讲解等)
基于SpringBoot+Vue的拍卖管理系统的详细设计和实现(源码+lw+部署文档+讲解等)
35 9
|
3天前
|
JavaScript Java 测试技术
基于SpringBoot+Vue的易家宜超市云购物系统的详细设计和实现(源码+lw+部署文档+讲解等)
基于SpringBoot+Vue的易家宜超市云购物系统的详细设计和实现(源码+lw+部署文档+讲解等)
16 6
|
3天前
|
JavaScript Java 测试技术
基于SpringBoot+Vue的校园互助平台的详细设计和实现(源码+lw+部署文档+讲解等)
基于SpringBoot+Vue的校园互助平台的详细设计和实现(源码+lw+部署文档+讲解等)
21 6
|
3天前
|
JavaScript Java 测试技术
基于SpringBoot+Vue的民宿预约管理系统的详细设计和实现(源码+lw+部署文档+讲解等)
基于SpringBoot+Vue的民宿预约管理系统的详细设计和实现(源码+lw+部署文档+讲解等)
23 6