系统概述
随着数字化生活的发展,线上菜谱与食材购买成为趋势。然而,碎片化笔记、收费套路、食材购买跳端等问题影响了用户体验。本平台将菜谱、购物、社区、营养贴士整合,实现'刷到菜—加购食材—分享成品'闭环。系统采用 SpringBoot+MySQL,Vue 前后端分离,B/S 架构,支持多端自适应;首页根据点赞、收藏、浏览多维度实时排序,热门菜谱秒级呈现。
功能清单
- 注册/登录/找回密码
- 个人中心(资料修改、密码、密保、余额、地址簿、我的收藏、我的订单)
- 用户管理(账号、姓名、性别、年龄、头像、邮箱、手机、余额)
- 商家管理(店铺名称、账号、密码、商家姓名、性别、头像、邮箱、手机、余额)
- 食谱分类(分类名称、图标)
- 标签管理(关键词标签)
- 食谱分享(名称、分类、标签、图片、制作视频、食材介绍、详情、分享人、审核流、点赞、收藏、评论、点击统计)
- 食谱评论与回复
- 美食资讯(标题、简介、分类、发布人、头像、点击、点赞、收藏、图片、内容)
- 资讯分类
- 商品类型(类型名称、图片)
- 商品信息(店铺名称、编号、名称、类型、图片、单位、简介、详情、库存、单限、价格、收藏、评论、最近点击)
- 商品评论与评分
- 购物车(商品、数量、单价、商户、类型)
- 订单管理(订单编号、商品快照、购买数量、总价、支付类型、状态、地址、收货人、电话、物流、备注、审核流、角色)
- 地址簿(收货人、电话、地址、默认标识)
- 美食论坛(帖子标题、内容、父子回复、用户、头像、状态、置顶、置顶时间)
- 收藏与点赞(食谱、商品、资讯一键收藏)
- 在线聊天助手(提问、自动回复)
- 健康咨询(用户提问、管理员回复、是否回复标识)
- 友情链接(名称、图片、跳转链接)
- 系统简介/关于我们(标题、副标题、内容、三图轮播)
- 配置参数(全局变量、URL 映射)
- 后台基础管理(用户、商家、食谱分类、食谱、标签、商品类型、商品、论坛、资讯、订单、地址、收藏、评论、聊天、健康咨询、友情链接、系统简介、配置)
- 审核流(食谱发布、商品上架、订单退款等关键节点均支持'待审核 - 已通过 - 已驳回'三步流)
- 日志与监控(登录日志、操作轨迹、异常捕获)
一句话总结:从找菜谱、看视频、加购食材、下单支付,到分享成品、交流心得、健康问答,全链路一站打通;后台集中审核,让'看 - 做 - 买 - 聊'循环顺滑不卡顿。
运行环境
- IDE: IntelliJ IDEA / Eclipse
- 数据库:MySQL 5.7 / 8.0 + Navicat
- JDK: 1.8
- 服务器:Tomcat 7.0
- 操作系统:Windows 10
3 系统分析
3.1 系统可行性分析
在开发系统以前,必须对系统开展可行性研究,目的是用有效的方法处理最大的问题。程序流程一旦开发出去满足客户的要求,便会产生许多益处。下面咱们就从技术性、操作性、经济性等领域来挑选这一系统是不是会最后开发。
3.1.1 技术可行性
此次系统开发挑选 Java 语言,这也是一种面向对象编程的语言,Java 为开发者提供了丰富的类库,大大减少了使用 Windows 编程的难度,减少开发人员在设计算法上的难度。作为 Java 开发,IDE 是必不可少的工具,它友好的界面,以及强大的功能,给程序开发人员带来了很多方便,加上环境简单,转移方便,无疑使此系统最佳的选择。所以后台设计选择使用 MySQL 数据库查询主要运用于创建和维护信息。从未来发展趋势看来,应当具备功能完善,使用方便的优势,后台数据库的要求则是能够建立和维护数据信息的统一性和完整性。
依据上述目标来分析本系统的硬件如下:
- CPU: Intel(R) Core(TM) i7-7700HQ
- 存储器:16G
- 硬盘:1000G
- 操作系统:Windows 10
软件层面,安装了 IDE 和 MySQL 数据库开发专用工具。依据以上硬件配置和系统规定,得到本系统的技术水平是有效的。
3.1.2 经济可行性
本系统的软件开发只要一台一般的计算机就可以进行开发,其成本费很低。此外作为毕业设计论文,开发花费基本上可以忽略,系统软件的交付使用,可以实现更加快速高效的美食菜谱,同时还能实现对人力资源和管理资源的有效节约,该美食菜谱平台设计与实现在经济上完全可行。
3.1.3 操作可行性
伴随着科学技术的迅猛发展,计算机早就进入大家的日常生活,大家的办公环境都不像过去那么极端了。要求工作人员在指定地点工作,有一些工作可以在家里进行。这促使大家工作效能更高一些。操作的多样化也变的更高一些。因而,管理方法的便利化和数字化是现代社会的大势所趋。各种各样智能系统五花八门,不一样的系统可以满足消费者不一样的要求,既增强了工作效能,又达到了一些特殊的要求。该系统不但页面简洁明了,并且使用了数据可视化页面。客户可以应用鼠标和键盘来改动、删掉、加上等有关信息。由于这一系统的使用比较简单实用,第一次应用系统只要一点时间。因而,该系统在使用上是有效的。
3.2 系统性能需求分析
对系统性能进行分析,可对系统反应度、界面简洁清晰度、储存能性、易学性和稳定性进行分析;
- 系统反应度:同时上万人在线时反应时间应该在两三秒以内。
- 简单明了的页面:系统界面规定简单明了,使用方便,有利于客户实际操作。
- 储存特性高:美食菜谱平台的设计方案和完成必须储存很多的信息,因此系统的存储量十分高,因此数据库查询要十分强力,确保信息的可靠平稳储存;
- 易懂:系统在使用上一定要实用。不用许多繁杂的实际操作,只要简洁的学习培训就可以实际操作。
- 可靠性:美食菜谱平台的设计方案、完成和运行平稳,页面清楚,字体样式清楚。
3.3 系统功能分析
考虑到实际生活中在美食菜谱方面的需要以及对该系统认真的分析,将系统权限按进行划分。
管理员登录系统所涉及到的功能主要有用户、商家、食谱分类、食谱分享、标签、商品类型、商品信息、美食论坛、系统管理、订单管理、用户资料等功能。管理员用例如图 3-1 所示。

图 3-1 管理员用例图
商家登录系统所涉及到的功能主要有商品信息、订单管理、用户资料等功能。商家用例如图 3-2 所示。

图 3-2 商家用例图
用户注册登录系统前台,点击个人中心可以对个人中心、修改密码、食谱分享、我的发布、我的订单、我的地址、我的收藏等功能。用户用例如图 3-3 所示。

图 3-3 用户用例图
3.4 系统流程分析
由于不同的系统实际使用用户角色的不同,他们的业务分析也会变得有所不一样,为了论述方便接下来都将以管理员用户功能权限下的系统业务流程来分析,如下图所展示:
3.4.1 用户管理的流程

图 3-4 用户管理流程
3.4.2 个人中心管理流程
个人中心管理流程如图 3-5 所示:

图 3-5 个人中心管理流程
3.4.3 登录流程
登录流程如图 3-6 所示:

图 3-6 登录流程
4 系统设计
4.1 软件功能模块设计
系统整体功能如下图 4-1 所示:

图 4-1 系统总体功能模块图
4.2 数据库设计
4.2.1 概念模型设计
概念模型是对现实中的问题出现的事物的进行描述,ER 图是由实体线以及关联构成的图,E-R 图可以明确地叙述系统中涵盖的实体线相互关系。将'用户、商家、订单、商品信息、美食资讯、购物车'等作为实体,它们的局部 E-R 图,如图 4-2 所示:

图 4-2 局部 E-R 图
5 系统详细设计
5.1 系统功能模块
5.1.1 前台首页页面
当人们打开系统的网址后,首先看到的就是首页界面。在这里,人们能够看到系统的导航条,通过导航条导航进入各功能展示页面进行操作。系统首页界面如图 5-1 所示:

图 5-1 系统首页界面
在注册流程中,用户在 Vue 前端填写必要信息(如用户名、密码等)并提交。前端将这些信息通过 HTTP 请求发送到 Java 后端。后端处理这些信息,检查用户名是否唯一,并将新用户数据存入 MySQL 数据库。完成后,后端向前端发送注册成功的确认,前端随后通知用户完成注册。这个过程实现了新用户的数据收集、验证和存储。系统注册页面如图 5-2 所示:

图 5-2 系统注册页面
食谱分享:在食谱分享页面的输入栏中输入食谱名称进行查询,可以查看到食谱分享详细信息,并根据需要进行赞、踩、评论或收藏等操作。食谱分享页面如图 5-3 所示:

图 5-3 食谱分享详细页面
5.1.2 个人中心页面实现
个人中心:在个人中心页面可以对个人中心、修改密码、食谱分享、我的发布、我的订单、我的地址、我的收藏进行详细操作;如图 5-4 所示:

图 5-4 个人中心界面
5.2 后台模块实现
在登录流程中,用户首先在 Vue 前端界面输入用户名和密码。这些信息通过 HTTP 请求发送到 Java 后端。后端接收请求,通过与 MySQL 数据库交互验证用户凭证。如果认证成功,后端会返回给前端,允许用户访问系统。这个过程涵盖了从用户输入到系统验证和响应的全过程。如图 5-5 所示。

图 5-5 后台登录界面
5.2.1 管理员功能实现
管理员进入主页面,主要功能包括对用户、商家、食谱分类、食谱分享、标签、商品类型、商品信息、美食论坛、系统管理、订单管理、用户资料等进行操作。管理员主页面如图 5-6 所示:

图 5-6 管理员主界面
用户功能在视图层(View Layer)进行交互,比如点击'搜索、添加信息或批量删除'按钮或填写用户表单。这些用户表单动作被视图层捕获并作为请求发送给相应的控制器层(Controller Layer)。控制器接收到这些请求后,调用服务层(Service Layer)以执行相关的业务逻辑,例如验证输入数据的有效性和与数据库的交互。服务层处理完这些逻辑后,进一步与数据访问对象层(DAO Layer)交互,后者负责具体的数据操作如查看、修改或删除用户信息,并将操作结果返回给控制器。最终,控制器根据这些结果更新视图层,以便用户功能可以看到最新的信息或相应的操作反馈。如图 5-7 所示:

图 5-7 用户界面
食谱分类功能在视图层(View Layer)进行交互,比如点击'搜索、添加信息或批量删除'按钮或填写食谱分类表单。这些食谱分类表单动作被视图层捕获并作为请求发送给相应的控制器层(Controller Layer)。控制器接收到这些请求后,调用服务层(Service Layer)以执行相关的业务逻辑,例如验证输入数据的有效性和与数据库的交互。服务层处理完这些逻辑后,进一步与数据访问对象层(DAO Layer)交互,后者负责具体的数据操作如修改或删除食谱分类信息,并将操作结果返回给控制器。最终,控制器根据这些结果更新视图层,以便食谱分类功能可以看到最新的信息或相应的操作反馈。如图 5-8 所示:

图 5-8 食谱分类界面
商品信息功能在视图层(View Layer)进行交互,比如点击'搜索或批量删除'按钮或填写商品信息表单。这些商品信息表单动作被视图层捕获并作为请求发送给相应的控制器层(Controller Layer)。控制器接收到这些请求后,调用服务层(Service Layer)以执行相关的业务逻辑,例如验证输入数据的有效性和与数据库的交互。服务层处理完这些逻辑后,进一步与数据访问对象层(DAO Layer)交互,后者负责具体的数据操作如查看、修改、查看评论或删除商品信息,并将操作结果返回给控制器。最终,控制器根据这些结果更新视图层,以便商品信息功能可以看到最新的信息或相应的操作反馈。如图 5-9 所示:

图 5-9 商品信息界面
5.2.2 商家功能实现
商家进入主页面,主要功能包括对商品信息、订单管理、用户资料等进行操作。商家主页面如图 5-10 所示:

图 5-10 商家主界面


