外卖系统是专门为餐饮企业(餐厅、饭店)定制的一款软件产品,包括 系统管理后台 和 移动端应用 两部分。其中系统管理后台主要提供给餐饮企业内部员工使用,可以对餐厅的分类、菜品、套餐、订单、员工等进行管理维护。移动端应用主要提供给消费者使用,可以在线浏览菜品、添加购物车、下单等。

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:技术构成+功能模块介绍相关推荐

  1. 基于Springboot外卖系统17: 新增套餐模块+餐品信息回显+多数据表存储

    1.1 新增套餐需求分析 后台系统中可以管理套餐信息,通过新增套餐功能来添加一个新的套餐,在添加套餐时需要选择当前套餐所属的套餐分类和包含的菜品,并且需要上传套餐对应的图片,在移动端会按照套餐分类来展 ...

  2. 基于Springboot外卖系统16:菜品修改模块+菜品信息回显+ID查询口味列表+组装数据并返回

    4.1 菜品修改模块需求分析 在菜品管理列表页面点击修改按钮,跳转到修改菜品页面,在修改页面回显菜品相关信息并进行修改,最后点击确定按钮完成修改操作. 4.2 菜品修改模块前端页面(add.html) ...

  3. 基于Springboot外卖系统08:员工账号状态管理功能+对象转换器+扩展Spring mvc的消息转换器

    1. 员工账号状态管理 1.1 需求分析 在员工管理列表页面,可以对某个员工账号进行启用或者禁用操作.账号禁用的员工不能登录系统,启用后的员工可以正常登录.如果某个员工账号状态为正常,则按钮显示为 & ...

  4. 基于Springboot外卖系统13:实现文件上传下载模块

    1. 上传功能模块 1.1 上传概述 文件上传,也称为upload,是指将本地图片.视频.音频等文件上传到服务器上,可以供其他用户浏览或下载的过程. 文件上传时,对页面的form表单有如下要求: 表单 ...

  5. 基于Springboot外卖系统05:用户非登陆状态的页面拦截器实现

    1. 完善登录功能 1.1 问题分析 用户访问接口验证,如果用户没有登录,则不让他访问除登录外的任何接口. 1.前端登录,后端创建session,返给前端 2.前端访问其他接口,失效或不存在,则返回失 ...

  6. 基于Springboot外卖系统03:pom.xml导入依赖+数据库配置文件+Boot启动类+静态资源映射

    1).在pom.xml中导入依赖 <?xml version="1.0" encoding="UTF-8"?> <project xmlns= ...

  7. 基于Springboot外卖系统09:员工信息编辑+员工信息保存

    1 编辑员工信息功能 1.1 需求分析 在员工管理列表页面点击 "编辑" 按钮,跳转到编辑页面,在编辑页面回显员工信息并进行修改,最后点击 "保存" 按钮完成编 ...

  8. 基于Springboot外卖系统19:用户地址+默认收货地址

    1. 用户地址簿功能 1.1 需求分析 地址簿,指的是移动端消费者用户的地址信息,用户登录成功后可以维护自己的地址信息. 同一个用户可以有多个地址信息,但是只能有一个默认地址. 对于地址簿管理,我们需 ...

  9. 基于Springboot外卖系统02:数据库搭建+Maven仓库搭建

    1 数据库环境搭建 1.1 创建数据库 可以通过以下两种方式中的任意一种, 来创建项目的数据库: 1).图形界面 注意: 本项目数据库的字符串, 选择 utf8mb4 2).命令行 1.2 数据库表导 ...

  10. java基于springboot外卖在线订餐系统(厨艺论坛)有论文

    简介 本项目主要包括了外卖订餐系统(在线订餐和外卖配送).厨艺论坛系统.管理员后台.用户中心等功能.用户注册后可以选择餐桌在线点餐支付,也可以选择外卖配送到家的方式. 演示视频 https://www ...

最新文章

  1. 信息安全系统设计基础家庭作业
  2. 【转摘】Word提升效率的快捷键
  3. python get argument_Python-Web框架-get_argument方法
  4. 写速度提升20%,Elasticsearch 创始人给腾讯云发来感谢信
  5. Markdown简介
  6. #开工新姿势#开启一年新征程,云社区叫你来充电啦!
  7. 微信被曝大“Bug”?有用户账户资金被盗刷,这个功能要慎用
  8. 95-090-024-源码-bin脚本-CLI提交Job-Run详解
  9. python pickle模块的使用/将python数据对象序列化保存到文件中
  10. RecyclerView嵌套RecyclerView报ViewHolder类型不匹配错误
  11. 多个浏览器同时访问mysql_48- 多线程启动多个不同浏览器
  12. 056 日志的正则式方式加载
  13. GUI练习——列出指定目录内容
  14. java模拟人生世界冒险_《模拟人生3世界冒险》的冒险心得与注意点
  15. 解这道考研题要用克莱默法则的公式吗?
  16. 【祥哥带你玩HoloLens开发】了解如何实现远程主机为HoloLens实时渲染
  17. 修改hosts解决多网页加载失败/不显示/视频无法观看等问题
  18. Mycat 使用navicat连接 报: no datanode found please check tables defined is schema:test
  19. RocketMq 消费者
  20. C++简单贪吃蛇游戏——入门游戏编程(详细)

热门文章

  1. 关于我如何拿到携程offer的过程记录
  2. 虚无鸿蒙混沌系统,玄幻 鸿蒙混沌选择系统
  3. 谷歌中国六月过三关 研发团队已失七将
  4. 计算机第一级开机密码设置,电脑如何设置开机密码 电脑开机密码设置方法
  5. 仿QQ项目(一):好友列表
  6. hive执行insert overwrite失败,报错 could notbe cleaned up错误
  7. 个人音乐流媒体服务器mStream
  8. Steam安装游戏时,无法选择C盘(无法选择其他盘(盘符))
  9. javaScript特殊知识点归纳
  10. CentOS 7.6基于lvm2快照备份恢复MariaDB