外卖项目01---软件开发整体介绍

目录

一、软件开发整体介绍 03

1.1软件开发流程 03

1.2角色分工

1.3软件环境 

二、外卖项目介绍 04

2.1项目介绍

2.2产品原型展示

2.3技术选型

2.4功能架构 

2.5项目上线后的角色分类

三、开发环境搭建 05

3.1数据库环境搭建

3.2maven项目搭建  06

四、后台登陆功能开发 07

4.1需求分析

4.2后台登陆功能开发 08

4.3后台登陆系统功能 09

4.4后台系统登陆功能—代码开发(梳理登陆方法处理逻辑)10

 4.5后台系统登陆功能——代码开发(实现登陆处理逻辑)11

4.6后台登陆功能---功能测试 12

五、后台退出功能开发 13

5.1需求分析 13

5.2代码书写 

六、分析后台系统首页构成和效果展示方式 14

6.1系统首席效果展示方式的分析 


一、软件开发整体介绍 03

1.1软件开发流程 03

注:

需求分析解释

1、产品原型通常根据网页的形式来介绍一下

2、通过文档编写,来阐述项目有哪些功能。

涉及部分解释:

1、当前的项目需要有几个数据库:数据库内的表和字段是什么样的

2、 UI界面,将实际的效果展现出来。

1.2角色分工

1.3软件环境 

二、外卖项目介绍 04

2.1项目介绍

2.2产品原型展示

 注:该部分一般是产品经理来进行制作的。

2.3技术选型

注:

1、网关层:来自请求后,将来自用户端的请求分配给一个或多个tomcat

2、应用层:主要是Session做集群的时候session共享的功能。 

3、应用层Swagger:用于优化,将项目进行拆分,变成前后端项目分离的功能。

4、数据层Redis:用于数据缓存,在优化的阶段使用。

5、工具git:代码版本的管理

2.4功能架构 

2.5项目上线后的角色分类

三、开发环境搭建 05

3.1数据库环境搭建

注:两种创建数据库的方式。

1、图形化软件

2、命令行创建

3.2maven项目搭建  06

 

 

 小技巧学习:在终端中进行数据的输出(使用log.info)

 添加注释@Slf4j

配置静态资源映射:将做好的静态资源放置到IDEA中,并能够通过浏览器进行访问

解决方法:添加一个配置类,使用静态资源映射。

@Slf4j
@Configuration
public class WebMvcConfig extends WebMvcConfigurationSupport {/**** 设置静态映射。将在实际的浏览器中能够获取得到工程文件中的指定的静态资源。* @param registry*/@Overrideprotected void addResourceHandlers(ResourceHandlerRegistry registry) {log.info("开始进行静态资源映射...");registry.addResourceHandler("/backend/**").addResourceLocations("classpath:/backend/");registry.addResourceHandler("/front/**").addResourceLocations("classpath:/front/");}
}

思路流程的整理:

1、创建一个SprngBoot的的项目文件。首先需要添加的注解是@SpringBootApplication

2、创建一个配置类,首先需要添加注解

四、后台登陆功能开发 07

4.1需求分析

需要服务端创建一些类。

Controller:来接收来自网页的用户名和密码

然后使用Service类来调用数据库,在然后调用Mapper来调用数据库。最终调到数据库DB中的数据来和我们输入的数据内容是否一致。

该部分是DB查询对应的员工表。因为是美团的后台管理系统。

 注:这部分是上述DB要查询的表。

4.2后台登陆功能开发 08

创建数据库和IDEA之间的对应: 映射

会根据数据库存有的类,对应的在程序当中也会创建一个程序实体类。 IDEA中的数据内容和数据库中的数据类型命名是一致的。

 

注:实现类放到impl文件夹下

4.3后台登陆系统功能 09

上面已经将mapper、controller和service进行创建。

需要编写很多的controller,这些都是响应客户端的页面返回回来的请求。然后controller处理完请求后,反馈给页面一个结果

本项目的案例统一的都是利用这个R类对象作为处理的结果,进行反馈的。

4.4后台系统登陆功能—代码开发(梳理登陆方法处理逻辑)10

最后所有的处理结果都会被处理成一个R对象进行值返回。为增强通用性设置一个泛型

1、由于客户端登陆界面是传输的json的类型数据,所以需要对对象添加注解@RequestBody。

2、添加的对象名称要与自己设定employ类中对象名称一致

 3、添加一个session来将将来登陆成功后employ对象中员工id存到session中,来表示成功。然后后面可以利用这个request的get获取,来获取登陆成功的员工id。

 4.5后台系统登陆功能——代码开发(实现登陆处理逻辑)11

 根据功能--->处理逻辑--->进行编码

为什么使用employeeService.getOne原因:

在数据库中该数据的索引位置的索引类型为Unique。并且用户名是唯一,所以是Unique。并且能够使用getOne。 

 代码部分实现4.4中的逻辑分析:

package com.itheima.reggie.controller;import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.itheima.reggie.common.R;
import com.itheima.reggie.entity.Employee;
import com.itheima.reggie.service.EmployeeService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.DigestUtils;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;import javax.servlet.http.HttpServletRequest;@Slf4j
@RestController
@RequestMapping("/employee")//和数据库连接名一致
public class EmployeeController {@Autowiredprivate EmployeeService employeeService;/*** 员工登陆* @param request* @param employee* @return*/@PostMapping("/login")private R<Employee> login(HttpServletRequest request, @RequestBody Employee employee){//1、将页面提交的密码password进行md5加密处理String password = employee.getPassword();password = DigestUtils.md5DigestAsHex(password.getBytes());//将处理后的数据还传递给自己//2、根据页面提交的用户名uesrname查询数据库LambdaQueryWrapper<Employee> queryWrapper = new LambdaQueryWrapper<>();//包装一个查询对象queryWrapper.eq(Employee::getUsername,employee.getUsername());//调用匹配对比Employee emp = employeeService.getOne(queryWrapper);//与数据库连接,获取数据库中的数据信息//3、如果没有查询到则返回登陆失败结果if(emp == null){return R.error("登陆失败");}//4、密码比对,如果不一致则返回登陆失败结果if(!emp.getPassword().equals(password)){//使用第二步中的获取数据库中的数据,被封装的对象emp,// 进行数据库中的数据获取。和实际的密码(用户端输入的密码)进行比较return R.error("登陆失败");}//5、查看员工的状态,如果为已禁用状态,则返回员工已禁用结果。员工的状态实际上就是数据库中给员工设定状态0/1if(emp.getStatus() == 0){return R.error("账号已禁用");}//6、登陆成功,将员工id存入最上面对象部分所创将的Session中,并通过Request返回登陆成功的结果给客户端request.getSession().setAttribute("emplpyee",emp.getId());return R.success(emp);}}

4.6后台登陆功能---功能测试 12

使用debug对前面的程序进行测试

五、后台退出功能开发 13

5.1需求分析 13

目前的状态信息如下:根据需求分析有以下逻辑思路 

5.2代码书写 

代码书写:

下图中的路径填写到注解@PostMapping中。 

 

六、分析后台系统首页构成和效果展示方式 14

6.1系统首席效果展示方式的分析 

数据准备部分:

 数据效果实现的部分:

 修改效果:

                                                    

 6.2不同模块点击后的效果实现分析:

第一步:

第二步: 

第三步:

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

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

相关文章

如何为餐饮商家打造代运营解决方案?

外卖行业成餐饮主战场之一&#xff0c;食咖助力商户抢占流量入口 外卖行业是目前餐饮的另外一个非常重要的主战场&#xff0c;作为其细分领域&#xff0c;外卖代运营主要集中在产业图谱中的平台端口&#xff0c;食咖代运营的核心&#xff0c;是运营团队落地助力商户抢占线上的…

案例:基于大数据的餐饮公司会员营销及O2O应用策略

来源&#xff1a;软件定义世界 主讲嘉宾&#xff1a;龚光宇&#xff0c;上海一茶一坐餐饮有限公司CIO&CMO&#xff0c;来自台湾&#xff0c;24年IT工作经验&#xff0c;2004年加入上海一茶一坐餐饮有限公司任CIO&#xff0c;2012年兼任CMO&#xff0c;2011年IT经理世界中国…

餐饮企业提升用户价值,从基于点单链路的精细化运营开始

近几年&#xff0c;餐饮业的经营增长面临着巨大挑战&#xff0c;在这种情况下&#xff0c;餐饮企业如何提升用户价值&#xff0c;提高多风险下持续增长的动力呢&#xff1f;神策数据杨丽月聚焦用户运营&#xff0c;围绕“一条链路&#xff0c;四个指标”&#xff0c;跟大家分享…

Whale帷幄 - 餐饮店怎么运营管理 餐饮门店运营管理方案

您在管理门店时&#xff0c;是否有这些烦恼&#xff1f; 数据四处分散&#xff0c;难以统一采集治理门店规范不一致&#xff0c;难以远程实时监督线下门店体验差&#xff0c;难以洞察顾客轨迹门店运营成本高&#xff0c;难以评估业绩ROI 帷幄空间数据平台&#xff08;SDP&…

外卖项目05---套餐管理业务开发

套餐&#xff1a;一组菜品的集合 点击之后就会弹出下面的界面&#xff1a; 上面是后台的管理操作&#xff0c;下面是处理完成后在用户端展示的界面效果&#xff1a; 目录 一、新增套餐 70 1.1需求分析 70 1.2数据模型 70 1.3新增套餐---代码开发---准备工作&梳理交互过…

校园外卖点餐系统——Day04【菜品管理业务开发】

❤ 作者主页&#xff1a;欢迎来到我的技术博客&#x1f60e; ❀ 个人介绍&#xff1a;大家好&#xff0c;本人热衷于Java后端开发&#xff0c;欢迎来交流学习哦&#xff01;(&#xffe3;▽&#xffe3;)~* &#x1f34a; 如果文章对您有帮助&#xff0c;记得关注、点赞、收藏、…

小饭馆拓客营销流程,小饭馆宣传推广方案

基于目前持续回暖的餐饮行业&#xff0c;小饭馆起死回生&#xff0c;业绩翻倍&#xff0c;关键在于营销推广。那么如何进行小饭馆的推广&#xff1f;今天我们就和各位聊聊小饭馆引流推广应该如何做&#xff01; 小饭馆营销推广流程 小饭馆引流推广方案主要包含如下&#xff1a…

基于python Django 餐馆点菜管理系统

问题描述&#xff1a; 随着网络的迅速发展&#xff0c;越来越多的人开始接受甚至时依赖了网络营业的这种交易形式&#xff0c;传统的点菜模式不仅浪费时间&#xff0c;效率低下&#xff0c;而且特别耗费成本与人力&#xff0c;因此不少商家开始使用网上点菜系统。网上点菜系统是…

软件测试项目实战,一比一还原可以写进简历的

项目一&#xff1a;ShopNC商城 项目概况&#xff1a; ShopNC商城是一个电子商务B2C电商平台系统&#xff0c;功能强大&#xff0c;安全便捷。适合企业及个人快速构建个性化网上商城。 包含PCIOS客户端Adroid客户端微商城&#xff0c;系统PC后台是基于ThinkPHP MVC构架开发的跨…

软件测试【个人简历】展示模板

个人简历 就职目标&#xff1a;软件测试工程师 简历是我们求职的第一步&#xff0c;也是非常重要的一步。 如果你简历写的一塌糊涂&#xff0c;那么你瞬间就会被淘汰&#xff0c;那么一份好的简历应该怎么写呢&#xff1f; 一般分为如下几部分内容&#xff1a; 1、个人基本…

软件测试电商项目实战(写进简历没问题)

前言 说实话&#xff0c;在找项目的过程中&#xff0c;我下载过&#xff08;甚至付费下载过&#xff09;N多个项目、联系过很多项目的作者&#xff0c;但是绝大部分项目&#xff0c;在我看来&#xff0c;并不适合你拿来练习&#xff0c;它们或多或少都存在着“问题”&#xff…

如何介绍简历中的项目呢?请看软件测试老师的分享

项目经验与工作经验是相辅相成的&#xff0c;但较之于工作经验&#xff0c;项目经验更侧重于表现求职者在某个专业领域内的技能水平&#xff08;技能水平决定了工资水平&#xff09;。因而&#xff0c;技术类岗招聘的时候&#xff0c;更注重项目经验。项目介绍是有套路的&#…

软件测试的简历里面,项目介绍要怎么写好呢

一、如果你是做功能测试&#xff08;项目介绍可以这样&#xff09; 项目一&#xff1a;2019/4-至今 项目简介&#xff1a;该项目是题库/考勤APP&#xff0c;主要的功能有题库、考勤、用户信息系统、直播视频、社区板块。迭代了多少次xxx,目前正在正常运营xxx. 负责模块&#…

详解9个写进简历的数据分析项目

核心知识点覆盖 Excel、Python、SQL、Pandas、Numpy、Matplotlib、Power BI、PyEcharts可视化、数据指标、波士顿矩阵、数据建模、AARRR模型、漏斗模型、RFM模型、A\BTest、逻辑回归、线性回归、预测分析、K近邻算法、网络爬虫、数据化运营、用户画像体系构建 9大企业项目实战 …

可以写进简历的软件测试项目实战经验(包含电商、银行、app等)

目录 目录 前言&#xff1a; 1、项目名称: 家电购 2、项目名称: 瑞德商城 3、项目名称:随意读(APP) 4、项目&#xff1a;东海农村商行 总结 前言&#xff1a; 今天给大家带来几个软件测试项目的实战总结及经验&#xff0c;适合想自学、转行或者面试的朋友&#xff0c;可…

postmessage通信

在业务中&#xff0c;有一种开发形式为&#xff1a;多个子系统集成为一个父系统。每个系统之间都管理着不同的业务与逻辑&#xff0c;他们是互不干涉的。 那么&#xff0c;我们如何在父系统页面中操作子系统中的内容呢&#xff1f; 首先通过vite初始化两个项目。 父系统端口…

微软历史上的12个Windows操作系统版本排名

作为全球最流行的操作系统之一&#xff0c;Windows 操作系统的发布对世界产生了深远的影响。Windows 操作系统的发布历程可以追溯到 1985 年&#xff0c;当时微软推出了第一个版本的 Windows。随着时间的推移&#xff0c;Windows 不断升级和改进&#xff0c;推出了多个版本&…

独立开发变现周刊(第86期):月收入4000美元的日程规划器

分享独立开发、产品变现相关内容&#xff0c;每周五发布。 目录 1、NotionReads: 在Notion中管理你的阅读书籍2、Zaap.ai: 面向创作者的一站式工具3、microfeed: 开源的可自我托管的轻量级内容管理系统(CMS)4、Reactive Resume&#xff1a;一个免费的开源简历生成器5、一个月收…

苹果的 Vision Pro 会重蹈谷歌眼镜的覆辙吗?

本文作者认为&#xff0c;一款成功的AR头戴式设备需要考虑以下几方面&#xff1a;成本高&#xff0c;回报低&#xff1b;安全与隐私问题&#xff1b;时机与市场&#xff1b;4、设计与社会接受度。 原文链接&#xff1a;https://uxdesign.cc/can-apples-vision-pro-succeed-wher…

chatgpt赋能python:Python描述性统计分析:基础概念、应用和实例分析

Python描述性统计分析&#xff1a;基础概念、应用和实例分析 作为一种高效、可扩展和易于学习的编程语言&#xff0c;Python在文本处理、数据挖掘、机器学习、数据可视化等方面已经得到了广泛应用。在数据分析领域&#xff0c;Python拥有强大的描述性统计分析库&#xff0c;可…