瑞吉外卖项目day01
一、软件开发整体介绍
1.1 软件开发流程
- 需求分析:产品原型、需求规格说明书
- 设计:产品文档、UI界面设计、概要设计、详细设计、数据库设计
- 编码:项目代码,是单元测试
- 上线运维:软件环境安装、配置
1.2 角色分工
- 项目经理:对整个项目负责。任务分配、把控进度
- 产品经理:进行需求调研,输出需求调研文档、产品原型等
- UI设计师:根据产品原型输出界面效果图
- 架构师:项目整体架构设计、技术选型等
- 开发工程师:代码实现
- 测试工程师:编写测试用例,输出测试报告
- 运维工程师:软件换件搭建、项目上线
1.3 软件环境
- 开发环境:开发人员在开发阶段使用的环境(一般外部用户无法访问)
- 测试环境:专门给测试人员使用的环境,用于测试项目(一般外部用户无法访问)
- 生产环境:即线上环境,正式提供对外服务的环境
二、瑞吉外卖项目介绍
2.1 项目介绍
本项目(瑞吉外卖)是专门为餐饮企业(餐厅、饭店)定制的一款软件产品,包括系统管理后台和移动端应用两部分。其中系统管理后台主要提供给餐饮企业内部员工使用,可以对餐厅的菜品、套餐、订单等进行管理维护。移动端应用主要提供给消费者使用,可以在线浏览菜品、添加购物车、下单等。
本项目共分为3期进行开发:
第一期主要实现基本需求,其中移动端应用通过H5实现,用户可以通过手机浏览器访问。
第二期主要针对移动端应用进行改进,使用微信小程序实现,用户使用起来更加方便。
第三期主要针对系统进行优化升级,提高系统的访问性能。
2.2 产品原型展示
- 产品原型:一款产品成型之前的一个简单的框架,就是将页面的排版布局展现出来,使产品的初步构思有一个可视化的展示。通过原型展示,可以更加直观地了解项目的需求和提供的功能。
2.3 技术选型
- 用户层:H5,VUE.js,ElementUI,微信小程序
- 网关层:Nginx
- 应用层:SpringBoot,SpringMVC,SpringSession,Spring,Swagger,lombok
- 数据层:MySQL,MyBatis,MybatisPlus,Redis
2.4 功能架构
- 移动端前台:手机号登录,微信登录,地址管理,历史订单,菜品规格,购物车,下单,菜品浏览
- 系统管理后台:分类管理,菜品管理,套餐管理,菜品口味管理,员工登录,员工退出,员工管理,订单管理
2.5 角色
- 后台系统管理员:登录后台管理系统,拥有后台系统中的所有操作权限
- 后台系统普通员工:登录后台管理系统,对菜品、套餐、订单等进行管理
- C端用户:登录移动端应用,可以浏览菜品、添加购物车、设置地址、在线下单等
三、开发环境搭建
3.1 数据库环境搭建
数据表
序号 表名 说明 1 employee 员工表 2 category 菜品和套餐分类表 3 dish 菜品表 4 setmeal 套餐表 5 setmeal_dish 套餐菜品关系表 6 dish_flavor 菜品口味关系表 7 user 用户表(C端) 8 address_book 地址簿表 9 shopping_cart 购物车表 10 orders 订单表 11 order_detail 订单明细表
3.2 maven项目搭建
- 创建maven项目
- 查看maven配置
- 导入pom.xml文件
- 导入SpringBoot配置文件application.yml
- 编写启动类@SpringBootApplication,SpringApplication.run()
- 编写WebMvcConfig进行静态资源映射registry.addResourceHandler
四、后台登陆功能开发
4.1 需求分析
- 页面原型展示
- 登录页面展示(/resources/backend/page/login/login.html)
- 查看登录请求信息
- 通过浏览器调试工具(F12)可以发现,点击登录按钮时,页面会发送请求(请求地址为http://localhost:8080/employee/login)并提交参数(username和password)
- 此时报404,是因为我们的后台系统还没有响应此请求的处理器,所以我们需要创建相关类来处理登录请求
- 数据模型(employee表)
4.2 代码开发
- 创建实体类Employee,和employee表进行映射
- 创建Mapper、Service、Controller
- 导入返回结果类R(通用类,服务端响应的所有结果最终都会包装成此种类型返回给前端页面)
- 在Controller中创建登陆方法
- 将页面提交的密码password进行md5加密处理
- 根据页面提交的用户名username查询数据库
- 如果没有查询到则返回登陆失败结果
- 密码比对,如果不一致则返回登陆失败结果
- 查看员工状态,如果为已禁用状态,则返回员工已禁用结果
- 登陆成功,将员工id存入session并返回登陆成功结果
4.3 功能测试
五、后台退出功能开发
5.1 需求分析
- 员工登录成功后,页面跳转到后台系统首页面(backend/index.html),此时会显示当前登录用户的姓名
- 如果员工需要退出登录,直接点击右侧的退出按钮可退出系统,退出系统后页面应跳转回登陆页面
5.2 代码开发
用户点击页面中退出按钮,发送请求,请求地址为/employee/logout,请求方式为POST
我们只需要在Controller中创建对应的处理方法即可,具体的处理逻辑:
- 清理Session中的用户id
- 返回结果
5.3 功能测试
瑞吉外卖项目day01相关推荐
- 瑞吉外卖项目(一)软件开发流程设计及环境搭建
第一章 软件开发整体介绍 软件开发流程 软件开发流程 需求分析:产品原型.需求规格说明书 设计:产品文档,ui界面设计,概要设计,详细设计,数据库设计 编码:项目代码,单元测试 测试:测试用例,测试报 ...
- 瑞吉外卖项目剩余功能补充
目录 菜品启售和停售 菜品批量启售和批量停售 菜品的批量删除 菜品删除逻辑优化 套餐管理的启售,停售 套餐管理的修改 后台按条件查看和展示客户订单 手机端减少购物车中的菜品或者套餐数量(前端展示有一点 ...
- 黑马瑞吉外卖项目开发笔记
目录 软件开发整体介绍 开发流程 角色分工 软件环境 瑞吉外卖项目介绍 项目介绍 产品原型展示 技术选型 功能架构 角色 开发环境搭建 数据库环境搭建 Maven环境搭建 1.直接创建maven项目( ...
- 瑞吉外卖项目 基于spring Boot+mybatis-plus开发 超详细笔记,有源码链接
本项目是基于自学b站中 黑马程序员 的瑞吉外卖项目:视频链接: 黑马程序员Java项目实战<瑞吉外卖>,轻松掌握springboot + mybatis plus开发核心技术的真java实 ...
- 瑞吉外卖项目重难点及易错点知识点总结
本文是对b站黑马程序员瑞吉外卖项目的总结,实现流程以及简单部分不做详解,重点归纳难点以及易错点.(前面是对项目的介绍,可以直接略过 看第四点总结) 视频链接:https://www.bilibili. ...
- 瑞吉外卖项目学习笔记:P1-项目介绍
瑞吉外卖项目介绍 1.项目介绍 1.1开发步骤 1.2产品原型 1.3技术选型 1.4项目功能架构 1.5角色 1.项目介绍 1.1开发步骤 实现基本要求,移动端应用通过H5实现,用户可通过浏览器访问 ...
- 云服务器部署SpringBoot工程-瑞吉外卖项目
Linux部署SpringBoot工程-瑞吉外卖项目 云平台:阿里云 终端软件:Tabby Terminal 部署项目项目: SpringBoot-瑞吉外卖 自己第一次从本地web项目搭建到云端部署发 ...
- 瑞吉外卖项目——瑞吉外卖
软件开发整体介绍 软件开发流程 需求分析:产品原型.需求规格说明书 设计:产品文档.UI界面设计.概要设计.详细设计.数据库设计 编码:项目代码.单元测试 测试:测试用例.测试报告 上线运维:软件环境 ...
- 【SpringBoot项目实战+思维导图】瑞吉外卖①(项目介绍、开发环境搭建、后台登陆/退出功能开发)
文章目录 软件开发整体介绍 软件开发流程 角色分工 软件环境 瑞吉外卖项目介绍 项目介绍 产品原型 技术选型 功能架构 角色 开发环境搭建 数据库环境搭建 创建数据库 数据库表导入 数据库表介绍 Ma ...
最新文章
- 定义python的色条_Python:定义颜色曲线部分
- python库整理:collections.defaultdict
- 4、JVM垃圾回收机制、新生代的GC、GC(Minor GC、FullGC)、GC日志、JVM参数选项、元空间(笔记)
- 通过自定义资源扩展Kubernetes
- Everything是如何搜索的
- MPU:鸿蒙轻内核的任务栈的溢出检察官
- python情感词典计算得分_基于情感词典的情感打分
- mysql怎么从1开始递增
- cogs——2416. [HZOI 2016]公路修建
- #python 颜色聚类处理
- de4dot 反混淆工具使用
- 使用Dosbox运行程序
- 独家对话阿里副总裁李飞飞:数据库的进化之路
- 交易系统的高盈亏比怎么实现?
- 这十个时间千万别受孕
- P4417 [COCI2006-2007#2] STOL
- HDF5数据库和mysql数据库_hdf5文件格式使用攻略
- 微信小程序添加音效createInnerAudioContext
- RS232、RS485、RS422、RJ45接口有什么区别
- IIS7+PHP安装教程
热门文章
- C++实现get与set
- 大数据处理系统都有哪些?(批处理系统与迭代计算系统)
- CRC16CCITT算法CcittKermit
- NYOJ-599-奋斗的小蜗牛-2013年11月4日22:22:22
- 初试Zookeeper---概念篇
- PHP导出word文档的简单实现方法(可导出图片)
- fastdfs存储空间不足报错:错误码:28,错误信息:没有足够的存储空间
- sgfdgfadsg
- VS报错之混合模式程序集是针对“v1.1.4322”版的运行时生成的,在没有配置其他信息的情况下,无法在 4.0 运行时中加载该程序集。...
- 北京三日自驾游-和狗狗的秦皇岛之旅