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

news2024/9/23 1:38:00

对于苍穹外卖项目,从学习课程加复习已经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.coloradmin.cn/o/811393.html

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

相关文章

大厂程序员的水平比非大厂高很多嘛?

最近一个月,筛选了一百多份简历,前前后后面试了二三十人,基本上都是有大厂经历的人。同时,也录用了几个有大厂经历的。但整体而言,打破了对大厂出来的都是优质人才的幻觉。看到的实际情况与想象中的落差还是比较大的。…

从零开始学python(十二)如何成为一名优秀的爬虫工程师

前言 回顾之前讲述了python语法编程 必修入门基础和网络编程,多线程/多进程/协程等方面的内容,后续讲到了数据库编程篇MySQL,Redis,MongoDB篇,和机器学习,全栈开发,数据分析前面没看的也不用往…

ChatIE:通过多轮问答问题实现实命名实体识别和关系事件的零样本信息抽取,并在NYT11-HRL等数据集上超过了全监督模型

项目设计集合(人工智能方向):助力新人快速实战掌握技能、自主完成项目设计升级,提升自身的硬实力(不仅限NLP、知识图谱、计算机视觉等领域):汇总有意义的项目设计集合,助力新人快速实…

【机器学习】Cost Function

Cost Function 1、计算 cost2、cost 函数的直观理解3、cost 可视化总结附录 首先,导入所需的库: import numpy as np %matplotlib widget import matplotlib.pyplot as plt from lab_utils_uni import plt_intuition, plt_stationary, plt_update_onclic…

【数字IC设计】VCS仿真DesignWare IP

DesignWare介绍 DesignWare是SoC/ASIC设计者最钟爱的设计IP库和验证IP库。它包括一个独立于工艺的、经验证的、可综合的虚拟微架构的元件集合,包括逻辑、算术、存储和专用元件系列,超过140个模块。DesignWare和 Design Compiler的结合可以极大地改进综合…

c++ 给无名形参提供默认值

如上图,若函数的形参不在函数体里使用,可以不提供形参名,而且可以给此形参提供默认值。也能编译通过。 在看vs2019上的源码时,也出现了这种写法。应用SFINAE(substitute false is not an error)原则&#x…

Go Ethereum源码学习笔记 001 Geth Start

Go Ethereum源码学习笔记 前言[Chapter_001] 万物的起点: Geth Start什么是 geth?go-ethereum Codebase 结构 Geth Start前奏: Geth Consolegeth 节点是如何启动的NodeNode的关闭 Ethereum Backend附录 前言 首先读者需要具备Go语言基础,至少要通关菜鸟…

周末放松大作战:优化生活质量的秘密武器

博主 默语带您 Go to New World. ✍ 个人主页—— 默语 的博客👦🏻 《java 面试题大全》 🍩惟余辈才疏学浅,临摹之作或有不妥之处,还请读者海涵指正。☕🍭 《MYSQL从入门到精通》数据库是开发者必会基础之…

C++代码质量提升指南-工具篇

提高代码质量的方法: 使用代码规范:代码规范是指对代码的编写风格和格式进行规范的规则。使用代码规范可以提高代码的可读性、可维护性和可扩展性。进行单元测试:单元测试是一种用于验证代码单元是否正确运行的测试方法。进行单元测试可以帮…

C++ ——STL容器【list】模拟实现

代码仓库: list模拟实现 list源码 数据结构——双向链表 文章目录 🍇1. 节点结构体🍈2. list成员🍉3. 迭代器模板🍊4. 迭代器🍋5. 插入删除操作🍌5.1 insert & erase🍌5.2 push_…

Python实现GA遗传算法优化循环神经网络回归模型(LSTM回归算法)项目实战

说明:这是一个机器学习实战项目(附带数据代码文档视频讲解),如需数据代码文档视频讲解可以直接到文章最后获取。 1.项目背景 遗传算法(Genetic Algorithm,GA)最早是由美国的 John holland于20世…

Zabbix分布式监控Web监控

目录 1 概述2 配置 Web 场景2.1 配置步骤2.2 显示 3 Web 场景步骤3.1 创建新的 Web 场景。3.2 定义场景的步骤3.3 保存配置完成的Web 监控场景。 4 Zabbix-Get的使用 1 概述 您可以使用 Zabbix 对多个网站进行可用性方面监控: 要使用 Web 监控,您需要定…

【GitOps系列】监听镜像版本变化触发 GitOps工作流

文章目录 前言工作流总览安装和配置 ArgoCD Image Updater创建 Image Pull Secret(可选)创建 Helm Chart 仓库创建 ArgoCD Application删除旧应用(可选)配置仓库访问权限创建 ArgoCD 应用 体验 GitOps 工作流总结 前言 在【GitOps…

AQS之ReentrantLock源码详解

一、管程 管程:指的是管理共享变量以及对共享变量的操作过程,让它们支持并发 互斥:同一时刻只允许一个线程访问共享资源 同步:线程之间如何通信、协作 MESA模型 在管程的发展史上,先后出现过三种不同的管程模型&a…

Xamarin.Android实现加载中的效果

目录 1、说明2、代码如下2.1 图1的代码2.1.1、创建一个Activity或者Fragment,如下:2.1.2、创建Layout2.1.3、如何使用 2.2 图2的代码 4、其他补充4.1 C#与Java中的匿名类4.2 、其他知识点 5、参考资料 1、说明 在实际使用过程中,常常会用到点…

【142. 环形链表 II】

来源:力扣(LeetCode) 描述: 给定一个链表的头节点 head ,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。 如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达&#xff0…

TCP三次握手报文代码实现

声明 看了一个博主写的文章 但是因为自己电脑环境的问题最终没有运行 本文仅对思路进行一个讲解 大家就看一下这个思路就好 不好意思大家测试环境 window10系统 哈工大的泰山服务器 检验和部分 原理 首先让检验和部分为0(二进制) 然后将左边的部分依次相加 然后将地址分成如图…

如何用arduino uno主板播放自己想要的曲子。《我爱你中国》单片机版本。

目录 一.效果展示 二.基本原理 三.电路图 四.代码 一.效果展示 arduino播放《我爱你中国》 二.基本原理 利用arduino uno单片机实现对蜂鸣器振动频率的调节,基于PWM控制系统通过代码实现控制。 三.电路图 四.代码 //main.uno #define Buzzer 2int PotBuffer …

PHP使用Redis实战实录4:单例模式和面向过程操作redis的语法

PHP使用Redis实战实录系列 PHP使用Redis实战实录1:宝塔环境搭建、6379端口配置、Redis服务启动失败解决方案PHP使用Redis实战实录2:Redis扩展方法和PHP连接Redis的多种方案PHP使用Redis实战实录3:数据类型比较、大小限制和性能扩展PHP使用Re…

第六章 HL7 架构和可用工具 - 定义新的消息类型和结构类型

文章目录 第六章 HL7 架构和可用工具 - 定义新的消息类型和结构类型编辑数据结构和代码表 第六章 HL7 架构和可用工具 - 定义新的消息类型和结构类型 消息类型标识消息并与 HL7 MSH:9 字段中的值匹配。定义消息类型时,指定发送消息结构类型(可能与消息类…