某马瑞吉外卖单体架构项目完整开发文档,基于 Spring Boot 2.7.11 + JDK 11。预计 5 月 20 日前更新完成,有需要的胖友记得一键三连,关注主页 “瑞吉外卖” 专栏获取最新文章。
相关资料:https://pan.baidu.com/s/1rO1Vytcp67mcw-PDe_7uIg?pwd=x548
提取码:x548
文章目录
- 1.基本介绍
- 2.产品原型
- 2.1 后台管理端产品原型
- 2.1.1 登陆页面
- 2.1.2 员工管理
- 2.1.3 分类管理
- 2.1.4 菜品管理
- 2.1.5 套餐管理
- 2.1.6 订单明细
- 2.2 用户端产品原型
- 2.2.1 外卖流程
- 2.2.2 点餐-菜单
- 2.2.3 点餐-购物车
- 2.2.4 提交订单
- 2.2.5 支付成功
- 2.2.6 个人信息页
- 2.2.7 个人信息页-我的订单
- 2.2.8 个人信息页-地址管理
- 2.2.7 网络异常与列表用语
- 3.技术选型
- 4.功能架构
- 5.项目角色
1.基本介绍
随着餐饮行业竞争的加剧,传统餐饮系统之间的畅通程度较差。收银产品、会员产品、供应链产品等各个模块相互割裂,形成了各自的信息孤岛,导致信息不对称,商家工作量大,增加商家的人力、物力和沟通成本。在三高一低的压力下,商家的竞争力不断被削弱。
瑞吉外卖是一款专为餐饮企业(如餐厅、饭店)定制的软件产品,包括系统管理后台和移动端应用两部分。系统管理后台主要提供给餐饮企业内部员工使用,可对餐厅的菜品、套餐、订单等进行管理和维护。移动端应用主要提供给消费者使用,可在线浏览菜品、添加购物车、下单等。
本项目共分为三期开发:
- 第一期主要实现基本需求,其中移动端应用通过 H5 实现,用户可通过手机浏览器访问。
- 第二期主要针对移动端应用进行改进,使用微信小程序实现,用户使用起来更加方便。
- 第三期主要针对系统进行优化升级,提高系统的访问性能。
2.产品原型
产品原型是一款产品成型之前的简单框架,用于展现页面的排版布局,使产品的初步构思有一个可视化的展示。通过原型展示,可以更加直观地了解项目的需求和提供的功能。
注意:产品原型主要用于展示项目的功能,并不是最终的页面效果。
2.1 后台管理端产品原型
2.1.1 登陆页面
登陆页面交互说明:
- 使用用户名和密码登录(用户名、密码不能为空),若为空提示“不能为空”;
- 成功登陆,进入系统;
- 登陆失败,提示语 3 秒“输入有误请重试,还剩4次!”;
- 限制输入 1-20 个字符。
2.1.2 员工管理
员工管理页面交互说明:
1、搜索功能:输入员工姓名进行搜索,支持模糊搜索;
2、添加员工:点击添加员工跳转至添加员工页面;
员工字段说明:
- 账号:必填,限制输入 3-20 个字,限制输入字母及阿拉伯数字,验证唯一性;
- 姓名:必填,限制输入 1-12 个字,验证唯一性;
- 手机号:验证手机号规则;
- 性别:默认男性,可选择;
- 身份证号:验证身份证规则;
注意:添加员工后,默认密码 123456,员工登录后可以对密码进行修改。
3、用户列表:
- 显示字段:姓名、账号、手机号、操作(编辑员工信息、用户被禁用后不可登录);
- 排序规则:创建时间的倒序排列,单页最多显示 10 条。
2.1.3 分类管理
分类管理页面交互说明:
1、新增菜品分类:点击新增菜品分类,弹出新增菜品分类弹窗;
2、新增套餐分类:点击新增套餐分类,弹出新增套餐分类弹窗;
3、分类列表:
-
显示字段:分类名称、分类类型、操作时间、排序、操作(修改分类信息、删除分类信息、调整分类顺序);
-
排序规则:创建时间的倒序排列,单页最多显示 10 条。
2.1.4 菜品管理
菜品管理页面交互说明:
1、搜索菜品:输入菜品名称进行搜索,支持模糊搜索;
2、新建菜品:点击新建菜品跳转至新建菜品页面;
3、菜品列表:
- 字段:菜品名称、图片、菜品分类、售价、售卖状态、最后操作时间、操作(修改菜品信息、先停售再删除、启售/停售);
- 排序:创建时间的倒序排列,单页最多显示 10 条。
2.1.5 套餐管理
套餐管理页面交互说明:
1、搜索功能:输入套餐名称进行搜索,支持模糊搜索;
2、新建套餐:点击新建套餐跳转至新建套餐页面;
新建菜单页面可添加菜品:
3、套餐列表:
- 字段:套餐名称、套餐分类、售价、商品码、售卖状态、最后操作时间、操作(修改、删除、起售、停售);
- 排序:创建时间的倒序排列,单页最多显示 10 条。
2.1.6 订单明细
订单明细页面交互说明:
1、搜索功能:
- 输入订单号进行搜索,支持模糊搜索;
- 根据订单状态进行筛选;
- 根据支付方式进行筛选;
- 根据结账时间进行时间筛选;
2、订单列表:
字段:订单号、订单状态、下单用户、下单时间、结账时间、支付方式、实收金额、操作(查看订单信息、取消订单、派送、完成);
2.2 用户端产品原型
2.2.1 外卖流程
2.2.2 点餐-菜单
2.2.3 点餐-购物车
2.2.4 提交订单
2.2.5 支付成功
2.2.6 个人信息页
2.2.7 个人信息页-我的订单
2.2.8 个人信息页-地址管理
2.2.7 网络异常与列表用语
范围 | 用语 |
---|---|
网络异常 | 加载失败,点击刷新重试! |
列表用语 | 下拉刷新、松开刷新、正在刷新、上拉加载、加载中、加载失败、已经到底了 |
3.技术选型
下表列出了所选技术及其兼容版本和主要功能:
相关技术 | 版本 | 说明 |
---|---|---|
JDK | 11 | Java Development Kit,用于开发、编译、运行 Java 程序 |
Spring Boot | 2.7.11 | 提供快速开发企业级应用的框架,简化配置和部署。 |
Spring Session | 2.7.0 - 2.7.x | 提供分布式会话管理,用于在多个服务之间共享会话信息。 |
Spring | 5.3.27 | 核心框架,提供依赖注入和其他基础功能。 |
Spring MVC | 5.3.27 | Web 层框架,用于实现 RESTful 风格的 Web 服务。 |
Swagger | 3.0.0 + | 自动生成 API 文档,便于前后端协作。 |
Lombok | 1.18.26 | 编译时注解处理器,用于简化 Java 类的编写,如自动生成 getter 和 setter 方法。 |
MySQL | 8.0.27 | 关系型数据库,用于存储应用数据。 |
MyBatis | 3.5.7 | ORM 框架,用于简化数据库操作和映射。 |
MyBatis Plus | 3.4.3 | MyBatis 的增强插件,提供更多的功能和方便性。 |
Redis | 6.2.5+ | 高性能键值存储系统,用于缓存和存储会话信息等。 |
Git | 2.33.0+ | 分布式版本控制工具,用于代码版本管理和团队协作。 |
Maven | 3.5+ | 项目构建工具,用于管理项目依赖和构建流程。 |
JUnit5 | 5.8.2 | 单元测试框架,用于编写和运行测试用例。 |
注意:笔者使用的 Spring Boot 版本为 2.7.11 和 JDK 版本为 JDK 11,均高于原项目,所以在后续的实际功能实现上会有些许区别。
4.功能架构
5.项目角色
- 后台系统管理员:登陆后台管理系统,拥有后台系统中的所有操作权限;
- 后台系统普通员工:登陆后台管理系统,可以对菜品、套餐、订单等进行相应管理;
- C 端用户:登陆移动端应用,可以浏览菜品、添加购物车、设置地址、在线下单等等。