Java项目实战《苍穹外卖》 一、项目概述

人道洛阳花似锦,偏我来时不逢春。

在这里插入图片描述


系列文章目录

苍穹外卖是黑马程序员2023年的Java实战项目,作为业余练手用,需要源码或者课程的可以找我,无偿分享


  1. Java项目实战《苍穹外卖》 一、项目概述
  2. Java项目实战《苍穹外卖》 二、项目搭建

文章目录

    • 系列文章目录
    • 项目介绍
    • 功能架构图
    • 业务功能
    • 技术选型



项目介绍

本项目(苍穹外卖)是专门为餐饮企业(餐厅、饭店)定制的一款软件产品,包括 系统管理后台小程序端应用 两部分。其中系统管理后台主要提供给餐饮企业内部员工使用,可以对餐厅的分类、菜品、套餐、订单、员工等进行管理维护,对餐厅的各类数据进行统计,同时也可进行来单语音播报功能。小程序端主要提供给消费者使用,可以在线浏览菜品、添加购物车、下单、支付、催单等。
在这里插入图片描述

功能架构图

在这里插入图片描述
管理端功能:
员工登录/退出 , 员工信息管理 , 分类管理 , 菜品管理 , 套餐管理 , 菜品口味管理 , 订单管理 ,数据统计,来单提醒。

用户端功能:
微信登录 , 收件人地址管理 , 用户历史订单查询 , 菜品规格查询 , 购物车功能 , 下单 , 支付、分类及菜品浏览。


业务功能

管理端: 餐饮企业内部员工使用

模块描述
登录/退出内部员工必须登录后,才可以访问系统管理后台
员工管理管理员可以在系统后台对员工信息进行管理,包含查询、新增、编辑、禁用等功能
分类管理主要对当前餐厅经营的 菜品分类 或 套餐分类 进行管理维护, 包含查询、新增、修改、删除等功能
菜品管理主要维护各个分类下的菜品信息,包含查询、新增、修改、删除、启售、停售等功能
套餐管理主要维护当前餐厅中的套餐信息,包含查询、新增、修改、删除、启售、停售等功能
订单管理主要维护用户在移动端下的订单信息,包含查询、取消、派送、完成,以及订单报表下载等功能
数据统计主要完成对餐厅的各类数据统计,如营业额、用户数量、订单等

用户端: 小程序应用供消费者使用

模块描述
登录/退出用户需要通过微信授权后登录使用小程序进行点餐
点餐-菜单在点餐界面需要展示出菜品分类/套餐分类, 并根据当前选择的分类加载其中的菜品信息, 供用户查询选择
点餐-购物车用户选中的菜品就会加入用户的购物车, 主要包含 查询购物车、加入购物车、删除购物车、清空购物车等功能
订单支付用户选完菜品/套餐后, 可以对购物车菜品进行结算支付, 这时就需要进行订单的支付
个人信息在个人中心页面中会展示当前用户的基本信息, 用户可以管理收货地址, 也可以查询历史订单数据

技术选型

关于本项目的技术选型, 我们将会从 用户层、网关层、应用层、数据层 这几个方面进行介绍,主要用于展示项目中使用到的技术框架和中间件等。
在这里插入图片描述
1. 用户层
本项目中在构建系统管理后台的前端页面,我们会用到H5Vue.jsElementUIapache echarts(展示图表)等技术。而在构建移动端应用时,我们会使用到微信小程序。

2. 网关层
Nginx是一个服务器,主要用来作为Http服务器,部署静态资源,访问性能高。在Nginx中还有两个比较重要的作用: 反向代理和负载均衡, 在进行项目部署时,要实现Tomcat的负载均衡,就可以通过Nginx来实现。

3. 应用层

  • SpringBoot: 快速构建Spring项目, 采用 “约定优于配置” 的思想, 简化Spring项目的配置开发。
  • SpringMVC: SpringMVC是spring框架的一个模块,springmvc和spring无需通过中间整合层进行整合,可以无缝集成。
  • Spring Task: 由Spring提供的定时任务框架。
  • httpclient: 主要实现了对http请求的发送。
  • Spring Cache: 由Spring提供的数据缓存框架
  • JWT: 用于对应用程序上的用户进行身份验证的标记。
  • 阿里云OSS: 对象存储服务,在项目中主要存储文件,如图片等。
  • Swagger: 可以自动的帮助开发人员生成接口文档,并对接口进行测试。
  • POI: 封装了对Excel表格的常用操作。
  • WebSocket: 一种通信网络协议,使客户端和服务器之间的数据交换更加简单,用于项目的来单、催单功能实现。

4. 数据层

  • MySQL: 关系型数据库, 本项目的核心业务数据都会采用MySQL进行存储。
  • Redis: 基于key-value格式存储的内存数据库, 访问速度快, 经常使用它做缓存。
  • Mybatis: 本项目持久层将会使用Mybatis开发。
  • pagehelper: 分页插件。
  • spring data redis: 简化java代码操作Redis的API。

5. 工具

  • git: 版本控制工具, 在团队协作中, 使用该工具对项目中的代码进行管理。
  • maven: 项目构建工具。
  • junit: 单元测试工具,开发人员功能实现完毕后,需要通过junit对功能进行单元测试。
  • postman: 接口测工具,模拟用户发起的各类HTTP请求,获取对应的响应结果。


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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

NewStarCTF2023 Reverse Week3---Let‘s Go Wp

分析 程序打开后结合题目可以发现是 GO语言。 在GO语言中,main_init 要先于 main 函数运行。 在这里对一个iv做了处理。 用插件Signsrch发现AES加密 知道是AES后,就需要找密文,key和iv了。 密文应该就是前面的十六进制字符串。 key和i…

springboot使用MongoTemplate根据正则表达式查询日期数据

一、日期正则表达式测试 匹配HH:mm:ss正则表达式写法有很多列举两个 .(点)代表任意匹配 ^必须以xxx开头, 如^[a-z],必须以a-z的字母开头 : 精确匹配,必须是: ([0-1]?[0-9]|2[0-3]).([0-5][0-9]).([0-5][0-9]) ^([0-1]?[0-9]|2[0-3]).([0-5][0-9]).([0-5][0-9])$ ([0-1]?…

UniPro提高集成能力 让客户专注于交付价值

一千个哈姆莱特就有一千个读者,一千个开发团队,也会有各不相同的软件工具和工作流程。工具与工具之间,功能上的割裂亦或重叠,都会给企业和团队的协作带来阻塞,结果就会导致团队之间各自为战、信息孤岛的形成以及资源的…

2023数维杯国际赛数学建模竞赛选题建议及B题思路讲解

大家好呀,2023年第九届数维杯国际大学生数学建模挑战赛今天早上开赛啦,在这里先带来初步的选题建议及思路。 目前团队正在写B题和D题完整论文,后续还会持续更新哈,大家三连关注一下防止迷路。 注意,本文只是比较简略…

操作系统课程设计

操作系统课程设计 介绍 1. 系统介绍 具有进程管理,磁盘文件管理的操作系统,用于熟悉操作系统中CPU运行的三种状态,运行、就绪、阻塞。对于文件磁盘管理系统,具有相应的文件读取、写入、删除操作。 2. 运行系统的基础环境 运行…

贪吃蛇小游戏

一. 准备工作 首先获取贪吃蛇小游戏所需要的头部、身体、食物以及贪吃蛇标题等图片。、 然后,创建贪吃蛇游戏的Java项目命名为snake_game,并在这个项目里创建一个文件夹命名为images,将图片素材导入文件夹。 再在src文件下创建两个包&#…

TikTok明星的社会责任:用影响力传递正能量

随着社交媒体的崛起,TikTok等短视频平台上的明星和网红们逐渐成为社会焦点。这些具有巨大粉丝基础的个体拥有强大的影响力,因此应当肩负起更多的社会责任。本文将深入探讨TikTok明星的社会责任,以及如何利用他们的影响力传递正能量&#xff0…

wu-ui-uniapp 多平台快速开发的UI框架

WU-UI 多平台快速开发的UI框架(无论平台,一致体验) 官方群 wu-ui官方1群: 767943089 说明 wu-ui(如虎添翼) 是 全面兼容多端的uniapp生态框架,基于vue2、vue3和nvue开发。丰富组件库,便捷工具库,简单高效。无论平台&#x…

一键转换bmp到jpg,轻松优化你的图片管理

在数字世界中,图片是我们日常工作和生活中的重要组成部分。然而,不同的文件格式可能会给我们的图片管理带来诸多不便。这时,我们就需要一个简单而强大的工具来帮助我们轻松转换图片格式。今天,我们为大家带来了一款全新的bmp到jpg…

实践小记——C#科学计数法格式化输出

文章速览 示例默认输出,不设置小数精度设置尾数部分的小数精度 总结参考文章 坚持记录实属不易,希望友善多金的码友能够随手点一个赞。 共同创建氛围更加良好的开发者社区! 谢谢~ 示例 默认输出,不设置小数精度 private void Fo…

Python算法题2023 输出123456789到98765432中完全不包含2023的数有多少

题目: 无输入,只需输出结果🤐 这个数字比较大,小伙伴们运行的时候要给代码一点耐心嗷つ﹏⊂ ,下面是思路,代码注释也很详细,大致看一下吧(^∀^●&#xff09…

VS2017 IDE 编译时的 X86、x64位 是干什么的

指定编译出的程序是x86架构下的32位程序还是64位程序 VS2017项目配置X86改配置x64位_winform:把项目由x86改为x64-CSDN博客 vs平台选项:Any CPU,x86,x64_vs anycpu-CSDN博客

低代码零代码的适用场景与行业应用

在如今高速发展的智能时代,随着软件开发需求的不断增长,低代码/零代码平台逐渐进入人们的视野,并在行业内兴起。那样,此方法可以用什么场景呢?本文将对不同应用领域的低代码/零代码平台进行深入分析,为读者…

带后台的IM即时通讯App 全程MVP手把手打造

手把手开发一个完整即时通讯App 客户端服务端MVP架构 课程详情 本课程将全程手把手,带你运用MVP架构,封装思想以及当下主流的技术框架开发一款功能全面的聊天APP(客户端服务端),让你系统学习IM技术,并拥有一…

DBeaver 23.2.4发布

导读DBeaver 23.2.4发布,修复和添加了一些新功能。 SQL 编辑器 为更新语句添加了代码自动补全功能修复了智能补全和替换带引号表达式的问题删除了日志中首次打开 SQL 编辑器时出现的多余错误 数据库导航器 添加了过滤对象可视化功能修复了脚本文件夹打开问题 数据传输 正确…

行情分析——加密货币市场大盘走势(11.17)

大机构拉高出货,放心大胆干,笔者手上空单一直拿着,继续等待大饼下跌。 空单策略:入场37000附近 止盈34000-32500 止损39000 以太按照预期回调,继续盈利中,等待继续下跌。没有入场的可以入场,重…

鸿蒙APP外包开发上线流程

鸿蒙系统的上线流程可能会根据具体的版本和平台要求而略有不同。在进行上线之前,开发人员应该详细了解并遵循鸿蒙生态系统的相关规定和要求。鸿蒙(HarmonyOS)应用的上线流程通常包括以下步骤,希望对大家有所帮助。北京木奇移动技术…

【Python】集合与字典

按照输入顺序输出 将输入的名字去重,同时按照输入顺序输出 sinput().split(,) blist(set(s)) bsorted(b,keys.index) print(b) 删除集合元素、更新集合 根据操作删除更新集合 update括号里可以是一个集合,add只能是一个元素 discard用于删除元素&#x…

SRM系统报价管理

一、SRM系统与报价管理 SRM系统是一种针对供应商关系管理的信息化工具,旨在优化企业与供应商之间的沟通和协作。报价管理作为SRM系统的重要功能之一,能够帮助企业实现对供应商报价的统一管理和跟踪。通过SRM系统,企业可以接收来自不同供应商…

ROS 学习应用篇(十)ROS中常用可视化工具的使用

ros工具箱有rqt_console、rqt_graph、rqtplot、rqt_image_view rqt plugins下可以打开多个调试窗口,非常好用偶吼吼 Rviz 重点来了 打开方式就是 rocore rivz gazebp roslaunch gazebo_ros **** 可以输入这玩一玩。