瑞吉外卖 - 项目介绍(1)

news2025/1/20 13:19:45

某马瑞吉外卖单体架构项目完整开发文档,基于 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 登陆页面

登陆页面交互说明:

  1. 使用用户名和密码登录(用户名、密码不能为空),若为空提示“不能为空”;
  2. 成功登陆,进入系统;
  3. 登陆失败,提示语 3 秒“输入有误请重试,还剩4次!”;
  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.技术选型

下表列出了所选技术及其兼容版本和主要功能:

相关技术版本说明
JDK11Java Development Kit,用于开发、编译、运行 Java 程序
Spring Boot2.7.11提供快速开发企业级应用的框架,简化配置和部署。
Spring Session2.7.0 - 2.7.x提供分布式会话管理,用于在多个服务之间共享会话信息。
Spring5.3.27核心框架,提供依赖注入和其他基础功能。
Spring MVC5.3.27Web 层框架,用于实现 RESTful 风格的 Web 服务。
Swagger3.0.0 +自动生成 API 文档,便于前后端协作。
Lombok1.18.26编译时注解处理器,用于简化 Java 类的编写,如自动生成 getter 和 setter 方法。
MySQL8.0.27关系型数据库,用于存储应用数据。
MyBatis3.5.7ORM 框架,用于简化数据库操作和映射。
MyBatis Plus3.4.3MyBatis 的增强插件,提供更多的功能和方便性。
Redis6.2.5+高性能键值存储系统,用于缓存和存储会话信息等。
Git2.33.0+分布式版本控制工具,用于代码版本管理和团队协作。
Maven3.5+项目构建工具,用于管理项目依赖和构建流程。
JUnit55.8.2单元测试框架,用于编写和运行测试用例。

注意:笔者使用的 Spring Boot 版本为 2.7.11 和 JDK 版本为 JDK 11,均高于原项目,所以在后续的实际功能实现上会有些许区别。

4.功能架构

5.项目角色

  • 后台系统管理员:登陆后台管理系统,拥有后台系统中的所有操作权限;
  • 后台系统普通员工:登陆后台管理系统,可以对菜品、套餐、订单等进行相应管理;
  • C 端用户:登陆移动端应用,可以浏览菜品、添加购物车、设置地址、在线下单等等。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/522906.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

CSS盒子模型、表格标签(table)、表单标签(form)

盒子:页面中所有的元素(标签),都可以看做是一个 盒子,由盒子将页面中的元素包含在一个矩形区域内,通过盒子的视角更方便的进行页面布局 盒子模型组成:内容区域(content)…

Qt扫盲-QScatterSeries理论总结

QScatterSeries理论总结 一、概述二、使用三、扩展四、扩展使用1.创建描述散点图对象2. 对散点图像添加值3. 自定义散点4. 将绘图设备与散点图对象联系5. 设置坐标轴6. 将绘图设备与GUI控件绑定并显示 一、概述 QScatterSeries 类以散点图的形式呈现数据。散点数据在图表上显示…

基于jdk1.8的Java服务监控和性能调优

JVM的参数类型 X参数 非标准参数-Xint: 解释执行-Xcomp: 第一次使用就编译成本地代码-Xmixed: JVM自己来决定是否编译成本地代码 默认使用的是mixed mode 用的不多, 只需要做了解, 用的比较多的是XX参数 XX参数 非标准化参数相对不稳定主要用来JVM调优和Debug Boolean: …

Vivado综合属性系列之一 ASYNC_REG

目录 一、属性简介 二、示例 2.1 工程说明 ​ ​2.2 工程代码 ​ ​2.3 生效确认 一、属性简介 ASYNC_REG属性的作用对象为寄存器,寄存器添加该属性后,即表明寄存器的数据输入口D接收的是来自异步时钟触发器的数据或是该寄存器在一个同步链中属于…

【CSS系列】第九章 · CSS定位和布局

写在前面 Hello大家好, 我是【麟-小白】,一位软件工程专业的学生,喜好计算机知识。希望大家能够一起学习进步呀!本人是一名在读大学生,专业水平有限,如发现错误或不足之处,请多多指正&#xff0…

Uni-app 离线打包 apk

Uni-app 离线打包 apk 1. Android Studio 下载 Android Studio官网 2. HBuilderX下载 HBuilderX下载 3. App离线SDK下载 Android 离线SDK - 正式版 下载后解压文件,将 HBuilder-Integrate-AS 重命名 build-template 并拷贝到一个专门打包用的文件夹下作为打包…

一行代码绘制高分SCI限制立方图

一、概述 Restricted cubic splines (RCS)是一种基于样条函数的非参数化模型,它可以可靠地拟合非线性关系,可以自适应地调整分割结点。在统计学和机器学习领域,RCS通常用来对连续型自变量进行建模,并在解释自变量与响应变量的关系…

抑梯度异常初始化参数(防止梯度消失和梯度爆炸)

这里设置3种参数初始化的对比,分别是:全初始化为0、随机初始化、抑梯度异常初始化。 首先是正反向传播、画图、加载数据所需的函数init_utils.py: # -*- coding: utf-8 -*-import numpy as np import matplotlib.pyplot as plt import sklea…

双层优化入门(3)—基于智能优化算法的求解方法(附matlab代码)

前面两篇博客介绍了双层优化的基本原理和使用KKT条件求解双层优化的方法,以及使用yalmip工具箱求解双层优化的方法: 双层优化入门(1)—基本原理与求解方法 双层优化入门(2)—基于yalmip的双层优化求解(附matlab代码) 除了数学规划方法之外,…

springboot+vue大学生体质测试管理系统(源码+文档)

风定落花生,歌声逐流水,大家好我是风歌,混迹在java圈的辛苦码农。今天要和大家聊的是一款基于springboot的大学生体质测试管理系统。项目源码以及部署相关请联系风歌,文末附上联系信息 。 💕💕作者&#xf…

how2heap-fastbin_dup.c

不同libc版本的fastbin_dup.c源码有点小区别&#xff1a;主要是有tcache的&#xff0c;需要先填充 以下为有tcache的源码示例&#xff1a; #include <stdio.h> #include <stdlib.h> #include <assert.h>int main() {setbuf(stdout, NULL);printf("This…

诗词·宇宙之梦

宇宙之梦 重力枷锁必将断&#xff0c;携君翱翔万里空。 迷途夜路寻踪迹&#xff0c;一声呼唤莫轻忽。 寻觅中&#xff0c;见红瞳&#xff0c;决不装假觉清白。 黑泽之中君沉沦&#xff0c;放之不下心怎静。 重力终将解开放&#xff0c;卫星翔空自由翱。 重量减半去忧愁&#xf…

RobotFramework+Eclispe环境安装篇

环境安装是学习任何一个新东西的第一步&#xff0c;这一步没走舒坦&#xff0c;那后面就没有心情走下去了。 引用名句&#xff1a;工欲善其事必先利其器&#xff01;&#xff01; Robotframework&#xff1a;一款 自动化测试框架。 Eclipse&#xff1a;一款编辑工具。可以编…

Android MVVN 使用入门

MVVM&#xff08;Model-View-ViewModel&#xff09;是一种基于数据绑定的设计模式&#xff0c;它与传统的 MVC 和 MVP 模式相比&#xff0c;更加适合处理复杂的 UI 逻辑和数据展示。在 Android 开发中&#xff0c;MVVM 通常使用 Data Binding 和 ViewModel 实现。 下面是一个简…

正则化解决过拟合

本片举三个例子进行对比&#xff0c;分别是&#xff1a;不使用正则化、使用L2正则化、使用dropout正则化。 首先是前后向传播、加载数据、画图所需要的相关函数的reg_utils.py&#xff1a; # -*- coding: utf-8 -*-import numpy as np import matplotlib.pyplot as plt impor…

双层优化入门(2)—基于yalmip的双层优化求解(附matlab代码)

上一篇博客介绍了双层优化的基本原理和使用KKT条件求解双层优化的方法&#xff1a; 双层优化入门(1)—基本原理与求解方法 这篇博客将介绍使用yalmip的双层优化问题的求解方法。 1.KKT函数 通过调用yalmip工具箱中的KKT函数&#xff0c;可以直接求出优化问题的KKT条件&#x…

算法(一)—— 回溯(2)

文章目录 1 131 分割回文串2 93 复原 IP 地址 s.substr(n, m) // 从字符串s的索引n开始&#xff0c;向后截取m个字符 例&#xff1a; string s "aaabbbcccddd"; string s1 s.substr(2,3); 此时s1为abb 1 131 分割回文串 切割问题&#xff0c;前文均为组合问题。组…

【Promptulate】一个强大的LLM Prompt Layer框架

本文节选自笔者博客&#xff1a; https://www.blog.zeeland.cn/archives/promptulate666 项目地址&#xff1a;https://github.com/Undertone0809/promptulate &#x1f496; 作者简介&#xff1a;大家好&#xff0c;我是Zeeland&#xff0c;全栈领域优质创作者。&#x1f4dd;…

pyinstaller打包为.exe过程中的问题与解决方法

目录 问题一&#xff1a;.exe文件过大问题二&#xff1a;pyinstaller与opencv-python版本不兼容问题三&#xff1a;打开文件时提示***.pyd文件已存在问题四&#xff1a;pyinstaller打包时提示UPX is not available.另&#xff1a;查看CUDA成功配置的方法 pyinsatller -F -w mai…

瑞吉外卖 - 开发环境搭建(2)

某马瑞吉外卖单体架构项目完整开发文档&#xff0c;基于 Spring Boot 2.7.11 JDK 11。预计 5 月 20 日前更新完成&#xff0c;有需要的胖友记得一键三连&#xff0c;关注主页 “瑞吉外卖” 专栏获取最新文章。 相关资料&#xff1a;https://pan.baidu.com/s/1rO1Vytcp67mcw-PD…