苍穹外卖心得与总结【对比瑞吉】【如何获得铁粉】

对于苍穹外卖项目,从学习课程加复习已经13天了。
对于一名已经学习过SSM+Linux+Redis+数据库的Java练习生来说,这个项目相对于之前学习的《瑞吉外卖》新增了很多功能和技术,是很值得练手和提升的课程,下面给出自己的一些见解。😍 🥰 😘😍 🥰 😘😍 🥰 😘

希望大家看到最后,一起进步,一起攀登!🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀

文章目录

    • 一、对于苍穹外卖
        • 1、技术选型
        • 2、功能模块
    • 二、对于瑞吉外卖
      • 1、技术选型
      • 2、实现功能
        • 1、管理端
        • 2、用户端
    • 三、对比两个项目
      • 1、功能方面
        • 管理端
          • 整个页面:
          • 侧边栏
          • 订单管理模块:
          • 其他四个模块:
        • 用户端
          • 主体页面
          • 个人中心
          • 地址管理
          • 其他
      • 2、技术方面
        • 相同的是,
        • 不同的是,
    • 四、写在最后【希望看完】

一、对于苍穹外卖

对于苍穹外卖,前端代码部分都是导入的,没有进行编写开发。都是对于接口的分析以及服务端代码的开发
苍穹外卖作为瑞吉的增强版,在他原有的基础上新增了SpringTask任务定时(对于待接单和待支付的功能做定时处理),JWT替换Session来实现登录验证,阿里云OSS(实现对象存储,即菜品和套餐图片存储【需要另外学具体的知识】),POI(实现Excel报表的下载),HttpClient(实现微信支付时的信息发送),WebSocket(实现来单提醒和用户催单),
PageHelper(做分页处理)

1、技术选型

在这里插入图片描述
1). 用户层:H5、Vue.js、ElementUI、apache echarts(展示图表)等技术,构建移动端应用时,使用到微信小程序。

2). 网关层:通过Nginx来实现反向代理和负载均衡。

3). 应用层:SpringBoot
SpringMVC、Spring Task、HttpClient、Spring Cache、JWT、阿里云OSS、Swagger、POI、WebSocket

4). 数据层

MySQL: 采用MySQL进行存储。Redis: 使用它做缓存。

Mybatis: 本项目持久层将会使用Mybatis开发。pagehelper: 分页插件。

spring data redis: 简化java代码操作Redis的API。

5). 工具

git、maven、junit、postman

2、功能模块

在这里插入图片描述

二、对于瑞吉外卖

瑞吉外卖通过SSM的开发模式,后端SpringBoot+前端Vue为主体框架进行项目的开发。实现了管理端和用户端的基本功能。同时课程中会加入Git、Linux、Redis、Nginx的学习,以及项目部署到虚拟机的相关知识。
对于新手小白来说,瑞吉外卖是很不错的帮助去了解项目开发的基本流程,包括需求分析、数据库设计、代码开发、测试、上线运维等等。

1、技术选型

从 用户层、网关层、应用层、数据层 这几个方面进行介绍,而对于我们服务端开发工程师来说,在项目开发过程中,我们主要关注应用层及数据层技术的应用。

1、用户层:H5、Vue.js、ElementUI等技术,构建移动端应用时,用到微信小程序。

2、网关层:以通过Nginx来实现反向代理和负载均衡。

3、应用层:SpringBoo、Spring、SpringMVC、SpringSession、lombok、Swagger

4、数据层:MySQL、MybatisPlus、Redis

5、工具: git、maven、junit

2、实现功能

1、管理端

餐饮企业内部员工使用。 主要功能有:

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

2、用户端

移动端应用主要提供给消费者使用。主要功能有:

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

三、对比两个项目

1、功能方面

管理端

整个页面:

页面主题两个项目没有什么区别,但是页面头部苍穹外卖更加完善

在这里插入图片描述

增加了店铺营业状态和修改密码的功能,而瑞吉外卖只有退出登录
在这里插入图片描述

还有就是苍穹外卖通过HttpClient和WebSocket技术,增加了来单提醒和用户催单的功能开发,在管理端进行显示

在这里插入图片描述

侧边栏

苍穹外卖新增了:控制台、数据统计两个模块
控制台:展示今日数据、订单管理、菜品总览、套餐总览、订单信息【做全局的信息查看】
数据统计模块:营业额统计、用户统计、订单统计、销量统计的ApacheECharts可视化图表信息

对应的在服务端的java代码中增加数据统计相关代码的开发

在这里插入图片描述
在这里插入图片描述

订单管理模块:

苍穹外卖增加了更加具体的订单展示:全部订单、待接单、待派送、派送中、已完成、已取消 等按钮;并且相较于瑞吉外卖,订单详情页更加详细美观。

在这里插入图片描述
订单详情页:【上苍穹,下瑞吉】
在这里插入图片描述
在这里插入图片描述

其他四个模块:

两个项目没有太大的区别

用户端

主体页面

用户端主体页面并没有什么区别,但是,苍穹外卖是在微信开发者工具中进行的开发,相较于瑞吉,可以显示店铺营业状态,前端页面真正的部署到了小程序开发中
并且,苍穹外卖中添加了对于微信小程序开发的流程介绍,很详细。

苍穹外卖的菜品和套餐照片是存储在阿里的OSS云存储里面,而瑞吉是本地存储

在这里插入图片描述

个人中心

进入个人中心可直接查看最新订单,没有瑞吉外卖的退出登录按钮,直接是右上角的小程序退出按钮。同时显示订单状态

在这里插入图片描述

点击订单,可查看订单详情:可取消订单、催单、再来一单等

在这里插入图片描述

历史订单

在这里插入图片描述

对于瑞吉外卖:不能点击查看,只能看到文字信息

在这里插入图片描述

历史订单

在这里插入图片描述

地址管理

大部分没有区别,只是在前端技术上,苍穹加上了地区的选择
在这里插入图片描述

其他

订单结算页面更加具体

在这里插入图片描述

实现了微信支付功能,添加了内网穿透知识
但因为个人申请的小程序无法实现,所以这部分我并没有实现

在这里插入图片描述

2、技术方面

在一、二的介绍中已经说的相对清楚了。

相同的是,

两个项目都是用的SpringBoot+Vue主体框架,加入ElementUI进行优化。
都使用的MySQL数据存储数据,Redis进行缓存;都有对Nginx、Git的介绍使用;都使用了Swagger

不同的是,

用户端登录:验证苍穹外卖使用的是JWT【管理端也是】,配合微信小程序登录,瑞吉外卖使用Session和验证码登录。

数据层:苍穹外卖使用的MyBatis,配合PageHepler;而瑞吉外卖使用的是MyBatisPlus。【苍穹外卖可以练习sql和动态sql以及一些注解,瑞吉外卖对于mp的使用说的也非常清楚】

应用层:Spring Task、HttpClient、阿里云OSS、POI、WebSocket这些都是我每天学习过的新技术,进行学习很Nice

项目部署:瑞吉外卖最后会有对于java的SpringBoot项目的部署教授,而苍穹外卖并没有。同时,瑞吉外卖中也有对于Linux的知识讲解,可以对Linux进行了解和学习以及复习!

四、写在最后【希望看完】

学习不是一蹴而就的,是不断努力和提升的;对于编程,对于Java开发这条路,百炼才能成钢,路虽远,行则将至!
当然,这些项目对于部分人可能比较难,对部分人可能很简单,希望大家能够找到自己适合的方向去努力提升自己的能力。这里只是给出我个人的见解和看法,不一定正确,但很真实。
一起加油吧,各位码友!!!,如果可以欢迎留言分享激励自己的一段话或者名言😍 🥰 😘😍 🥰 😘😍 🥰 😘😍 🥰 😘😍 🥰 😘

应这个活动,如何收货铁粉?
我想,一个是分享的博文对大家有帮助有提升,一个是真诚细致;这样才能收货铁粉!

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

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

相关文章

django channels实战(websocket底层原理和案例)

1、websocket相关 1.1、轮询 1.2、长轮询 1.3、websocket 1.3.1、websocket原理 1.3.2、django框架 asgi.py在django项目同名app目录下 1.3.3、聊天室 django代码总结 小结 1.3.4、群聊(一) 前端代码 后端代码 1.3.5、群聊(二&#xff09…

uniapp兼容微信小程序和支付宝小程序遇到的坑

1、支付宝不支持v-show 改为v-if。 2、v-html App端和H5端支持 v-html ,微信小程序会被转为 rich-text,其他端不支持 v-html。 解决方法:去插件市场找一个支持跨端的富文本组件。 3、导航栏处有背景色延伸至导航栏外 兼容微信小程序和支…

Ubuntu /dev/loop<0..n>挂载的目录的分析

执行命令df -h lkmaoubuntu:~$ df -h Filesystem Size Used Avail Use% Mounted on udev 1.6G 0 1.6G 0% /dev tmpfs 391M 2.1M 389M 1% /run /dev/sda1 59G 30G 26G 54% / tmpfs 2.0G 0 2.0G 0% /dev/s…

fpga开发--蜂鸣器发出连续不同的音调

描述 使用fpga蜂鸣器连续发出do,re,mi,fa,so,la,xi七个不同的音调,每个音调的持续时间为0.5s。 思路 采用状态机实现音调的转化,当do状态持续了0.5s之后转移到re状态,…

【Git】修改文件版本回退撤销修改删除文件

文章目录 修改文件版本回退git reset语法规则注意 撤销修改情况1:工作区的代码还未add情况2:工作区的代码已经add 但未commit情况3:工作区的代码已经add 并且已经 commit 删除文件 修改文件 Git⽐其他版本控制系统设计得优秀,Git…

【Solr】Solr搜索引擎使用

文章目录 一、什么是Solr?二 、数据库本身就支持搜索啊,干嘛还要搞个什么solr?三、如果我们想要使用solr那么首先我们得安装它 一、什么是Solr? 其实我们大多数人都使用过Solr,也许你不会相信我说的这句话,但是事实却是如此啊 ! 每当你想买自己喜欢的东东时,你可能会打开某…

chatgpt 接口使用(一)

使用api实现功能 参考链接:https://platform.openai.com/examples 安装库: pip3 install openai 例如: import os import openaiopenai.api_key os.getenv("OPENAI_API_KEY") response openai.ChatCompletion.create(model&q…

jenkins 配置git

在linux 中输入 保证git 安装成功 git --version使用查看git 安装目录(非源码安装直接用yum 安装的) which gitjenkins 中到 系统管理–>全局工具配置–> Git installations 新建一个项目 选择自由风格 源码管理选择 git 如果使用的是码云&a…

SpringBoot多环境开发-配置文件

在Spring Boot中进行多环境开发时,你可以使用配置文件来定义每个环境的属性。Spring Boot提供了一种方便的方式来管理和加载不同环境的配置文件。 以下是一些常见的配置文件命名约定: application.properties: 默认的配置文件,适用于所有环…

VS2022和QT混合编程打包发布程序

1.在开始菜单输入 CMD 找到 Qt5.15.2(MSVC 64-bit) 2.输入windeployqt exe所在路径 3.运行完毕后,双击打开exe文件,可能会报错,缺少相关的dll,找到缺少的dll拷贝到运行文件夹下即可。

【iOS】KVC KVO 总结

文章目录 KVC1. KVC赋值原理 setValue:forKey:2. KVC取值原理 valueForKey:3. 注意4. KVC的批量存值和取值 KVO 使用1. KVO的介绍2. KVO监听的步骤注册监听监听实现移除监听例子 3. KVO的传值4. KVO注意5. KVO的使用场景 KVO原理1. KVO的本质是改变了setter方法的调用2. _NSSet…

【图论】树上差分(边差分)

一.简介 其实点差分和边差分区别不大。 点差分中,d数组存储的是树上的节点 边差分中,d数组存储的是当前节点到父节点的那条边的差分值。 指定注意的是:边差分中因为根连的父节点是虚点,所以遍历结果时应当忽略! 二…

【Rust学习 | 基础系列3 | Hello, Rust】编写并运行第一个Rust程序

文章目录 前言一,创建项目二,两种编译方式1. 使用rustc编译器编译2. 使用Cargo编译 总结 前言 在开始学习任何一门新的编程语言时,都会从编写一个简单的 “Hello, World!” 程序开始。在这一章节中,将会介绍如何在Rust中编写并运…

页面访问控制远程仓库

页面访问权限控制 什么是jwt身份认证 在前后端分离模式的开发中,服务器如何知道来访者的身份呢? 在登录后,服务器会响应给用户一个 令牌 (token)令牌中会包括该用户的id等唯一标识浏览器收到令牌后,自己…

Yolov8训练自己的数据集合(最新实验数据)

一、安装环境 笔者环境如下: win10 anaconda python3.8二、clone代码 地址如下,可以直接使用git命令进行clone,也可以直接去网站下载 git clone https://github.com/ultralytics/ultralytics代码目录如下所示 三、安装必要的库 其实这里比较重要的是…

python速成之循环分支结构学习

循环结构 应用场景 我们在写程序的时候,一定会遇到需要重复执行某条或某些指令的场景。例如用程序控制机器人踢足球,如果机器人持球而且还没有进入射门范围,那么我们就要一直发出让机器人向球门方向移动的指令。在这个场景中,让…

【Golang】Golang进阶系列教程--Go 语言切片是如何扩容的?

文章目录 前言声明和初始化扩容时机源码分析go1.17go1.18内存对齐 总结 前言 在 Go 语言中,有一个很常用的数据结构,那就是切片(Slice)。 切片是一个拥有相同类型元素的可变长度的序列,它是基于数组类型做的一层封装…

基于IAP的嵌入式系统在线编程设计(学习)

摘要:为了实现嵌入式系统程序的在线升级,提出一种基于IAP在线编程的程序更新方法。 以STM32L431控制器为例,该方法对控制器的片内FLASH进行区域划分,分别存放引导程序、执行程序及待更新程序。 系统通过运行引导程序将待更新程序…

手把手教你使用stable diffusion生成自己的艺术二维码

艺术二维码制作指南 导读midjourneystable diffusion 环境准备安装stable diffusion webuisd-webui-qrcode-toolkit安装 草料二维码模型准备QR PatternQR Code MonsterIoC Lab Control Net 艺术二维码制作1. 二维码信息提取2. 使用QR Tookit生成二维码3. 下载二维码图片4. prom…

大数据Flink(五十):流式计算简介

文章目录 流式计算简介 一、数据的时效性 二、流式计算和批量计算