基于Springboot外卖系统01:技术构成+功能模块介绍
外卖系统是专门为餐饮企业(餐厅、饭店)定制的一款软件产品,包括 系统管理后台 和 移动端应用 两部分。其中系统管理后台主要提供给餐饮企业内部员工使用,可以对餐厅的分类、菜品、套餐、订单、员工等进行管理维护。移动端应用主要提供给消费者使用,可以在线浏览菜品、添加购物车、下单等。
1、主体功能
1.1 角色设定
在瑞吉外卖这个项目中,存在以下三种用户,这三种用户对应三个角色: 后台系统管理员、后台系统普通员工、C端(移动端)用户。
角色 | 权限操作 |
---|---|
后台系统管理员 | 登录后台管理系统,拥有后台系统中的所有操作权限 |
后台系统普通员工 | 登录后台管理系统,对菜品、套餐、订单等进行管理 (不包含员工管理) |
C端用户 | 登录移动端应用,可以浏览菜品、添加购物车、设置地址、在线下单等 |
1.2 功能与端口分类
1.2.1 管理端
餐饮企业内部员工使用。 主要功能有:
模块 | 描述 |
---|---|
登录/退出 | 内部员工必须登录后,才可以访问系统管理后台 |
员工管理 | 管理员可以在系统后台对员工信息进行管理,包含查询、新增、编辑、禁用等功能 |
分类管理 | 主要对当前餐厅经营的 菜品分类 或 套餐分类 进行管理维护, 包含查询、新增、修改、删除等功能 |
菜品管理 | 主要维护各个分类下的菜品信息,包含查询、新增、修改、删除、启售、停售等功能 |
套餐管理 | 主要维护当前餐厅中的套餐信息,包含查询、新增、修改、删除、启售、停售等功能 |
订单明细 | 主要维护用户在移动端下的订单信息,包含查询、取消、派送、完成,以及订单报表下载等功能 |
1.2.2 用户端
移动端应用主要提供给消费者使用。主要功能有:
模块 | 描述 |
---|---|
登录/退出 | 在移动端, 用户也需要登录后使用APP进行点餐 |
点餐-菜单 | 在点餐界面需要展示出菜品分类/套餐分类, 并根据当前选择的分类加载其中的菜品信息, 供用户查询选择 |
点餐-购物车 | 用户选中的菜品就会加入用户的购物车, 主要包含 查询购物车、加入购物车、删除购物车、清空购物车等功能 |
订单支付 | 用户选完菜品/套餐后, 可以对购物车菜品进行结算支付, 这时就需要进行订单的支付 |
个人信息 | 在个人中心页面中会展示当前用户的基本信息, 用户可以管理收货地址, 也可以查询历史订单数据 |
3、技术分析
1). 用户层
构建系统管理后台的前端页面用到H5、Vue.js、ElementUI等技术。
构建移动端应用时,使用到微信小程序。
2). 网关层
Nginx是一个服务器,主要用来作为Http服务器,部署静态资源,访问性能高。
在Nginx中还有两个比较重要的作用: 反向代理和负载均衡, 在进行项目部署时,要实现Tomcat的负载均衡,就可以通过Nginx来实现。
3). 应用层
SpringBoot: 快速构建Spring项目, 采用 "约定优于配置" 的思想, 简化Spring项目的配置开发。
Spring: 统一管理项目中的各种资源(bean), 在web开发的各层中都会用到。
SpringMVC:SpringMVC是spring框架的一个模块,springmvc和spring无需通过中间整合层进行整合,可以无缝集成。
SpringSession: 主要解决在集群环境下的Session共享问题。
lombok:能以简单的注解形式来简化java代码,提高开发人员的开发效率。例如开发中经常需要写的javabean,都需要花时间去添加相应的getter/setter,也许还要去写构造器、equals等方法。
Swagger: 可以自动的帮助开发人员生成接口文档,并对接口进行测试。
4). 数据层
MySQL: 关系型数据库, 本项目的核心业务数据都会采用MySQL进行存储。
MybatisPlus: 本项目持久层将会使用MybatisPlus来简化开发, 基本的单表增删改查直接调用框架提供的方法即可。
Redis: 基于key-value格式存储的内存数据库, 访问速度快, 经常使用它做缓存(降低数据库访问压力, 提供访问效率), 在后面的性能优化中会使用。
5). 工具
git: 版本控制工具, 在团队协作中, 使用该工具对项目中的代码进行管理。
maven: 项目构建工具。
junit:单元测试工具,开发人员功能实现完毕后,需要通过junit对功能进行单元测试。
基于Springboot外卖系统01:技术构成+功能模块介绍相关推荐
- 基于Springboot外卖系统17: 新增套餐模块+餐品信息回显+多数据表存储
1.1 新增套餐需求分析 后台系统中可以管理套餐信息,通过新增套餐功能来添加一个新的套餐,在添加套餐时需要选择当前套餐所属的套餐分类和包含的菜品,并且需要上传套餐对应的图片,在移动端会按照套餐分类来展 ...
- 基于Springboot外卖系统16:菜品修改模块+菜品信息回显+ID查询口味列表+组装数据并返回
4.1 菜品修改模块需求分析 在菜品管理列表页面点击修改按钮,跳转到修改菜品页面,在修改页面回显菜品相关信息并进行修改,最后点击确定按钮完成修改操作. 4.2 菜品修改模块前端页面(add.html) ...
- 基于Springboot外卖系统08:员工账号状态管理功能+对象转换器+扩展Spring mvc的消息转换器
1. 员工账号状态管理 1.1 需求分析 在员工管理列表页面,可以对某个员工账号进行启用或者禁用操作.账号禁用的员工不能登录系统,启用后的员工可以正常登录.如果某个员工账号状态为正常,则按钮显示为 & ...
- 基于Springboot外卖系统13:实现文件上传下载模块
1. 上传功能模块 1.1 上传概述 文件上传,也称为upload,是指将本地图片.视频.音频等文件上传到服务器上,可以供其他用户浏览或下载的过程. 文件上传时,对页面的form表单有如下要求: 表单 ...
- 基于Springboot外卖系统05:用户非登陆状态的页面拦截器实现
1. 完善登录功能 1.1 问题分析 用户访问接口验证,如果用户没有登录,则不让他访问除登录外的任何接口. 1.前端登录,后端创建session,返给前端 2.前端访问其他接口,失效或不存在,则返回失 ...
- 基于Springboot外卖系统03:pom.xml导入依赖+数据库配置文件+Boot启动类+静态资源映射
1).在pom.xml中导入依赖 <?xml version="1.0" encoding="UTF-8"?> <project xmlns= ...
- 基于Springboot外卖系统09:员工信息编辑+员工信息保存
1 编辑员工信息功能 1.1 需求分析 在员工管理列表页面点击 "编辑" 按钮,跳转到编辑页面,在编辑页面回显员工信息并进行修改,最后点击 "保存" 按钮完成编 ...
- 基于Springboot外卖系统19:用户地址+默认收货地址
1. 用户地址簿功能 1.1 需求分析 地址簿,指的是移动端消费者用户的地址信息,用户登录成功后可以维护自己的地址信息. 同一个用户可以有多个地址信息,但是只能有一个默认地址. 对于地址簿管理,我们需 ...
- 基于Springboot外卖系统02:数据库搭建+Maven仓库搭建
1 数据库环境搭建 1.1 创建数据库 可以通过以下两种方式中的任意一种, 来创建项目的数据库: 1).图形界面 注意: 本项目数据库的字符串, 选择 utf8mb4 2).命令行 1.2 数据库表导 ...
- java基于springboot外卖在线订餐系统(厨艺论坛)有论文
简介 本项目主要包括了外卖订餐系统(在线订餐和外卖配送).厨艺论坛系统.管理员后台.用户中心等功能.用户注册后可以选择餐桌在线点餐支付,也可以选择外卖配送到家的方式. 演示视频 https://www ...
最新文章
- 信息安全系统设计基础家庭作业
- 【转摘】Word提升效率的快捷键
- python get argument_Python-Web框架-get_argument方法
- 写速度提升20%,Elasticsearch 创始人给腾讯云发来感谢信
- Markdown简介
- #开工新姿势#开启一年新征程,云社区叫你来充电啦!
- 微信被曝大“Bug”?有用户账户资金被盗刷,这个功能要慎用
- 95-090-024-源码-bin脚本-CLI提交Job-Run详解
- python pickle模块的使用/将python数据对象序列化保存到文件中
- RecyclerView嵌套RecyclerView报ViewHolder类型不匹配错误
- 多个浏览器同时访问mysql_48- 多线程启动多个不同浏览器
- 056 日志的正则式方式加载
- GUI练习——列出指定目录内容
- java模拟人生世界冒险_《模拟人生3世界冒险》的冒险心得与注意点
- 解这道考研题要用克莱默法则的公式吗?
- 【祥哥带你玩HoloLens开发】了解如何实现远程主机为HoloLens实时渲染
- 修改hosts解决多网页加载失败/不显示/视频无法观看等问题
- Mycat 使用navicat连接 报: no datanode found please check tables defined is schema:test
- RocketMq 消费者
- C++简单贪吃蛇游戏——入门游戏编程(详细)