瑞吉外卖项目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项目搭建

  1. 创建maven项目
  2. 查看maven配置
  3. 导入pom.xml文件
  4. 导入SpringBoot配置文件application.yml
  5. 编写启动类@SpringBootApplication,SpringApplication.run()
  6. 编写WebMvcConfig进行静态资源映射registry.addResourceHandler

四、后台登陆功能开发

4.1 需求分析

  1. 页面原型展示
  2. 登录页面展示(/resources/backend/page/login/login.html)
  3. 查看登录请求信息
    • 通过浏览器调试工具(F12)可以发现,点击登录按钮时,页面会发送请求(请求地址为http://localhost:8080/employee/login)并提交参数(username和password)
    • 此时报404,是因为我们的后台系统还没有响应此请求的处理器,所以我们需要创建相关类来处理登录请求
  4. 数据模型(employee表)

4.2 代码开发

  1. 创建实体类Employee,和employee表进行映射
  2. 创建Mapper、Service、Controller
  3. 导入返回结果类R(通用类,服务端响应的所有结果最终都会包装成此种类型返回给前端页面)
  4. 在Controller中创建登陆方法
    1. 将页面提交的密码password进行md5加密处理
    2. 根据页面提交的用户名username查询数据库
    3. 如果没有查询到则返回登陆失败结果
    4. 密码比对,如果不一致则返回登陆失败结果
    5. 查看员工状态,如果为已禁用状态,则返回员工已禁用结果
    6. 登陆成功,将员工id存入session并返回登陆成功结果

4.3 功能测试

五、后台退出功能开发

5.1 需求分析

  • 员工登录成功后,页面跳转到后台系统首页面(backend/index.html),此时会显示当前登录用户的姓名
  • 如果员工需要退出登录,直接点击右侧的退出按钮可退出系统,退出系统后页面应跳转回登陆页面

5.2 代码开发

用户点击页面中退出按钮,发送请求,请求地址为/employee/logout,请求方式为POST

我们只需要在Controller中创建对应的处理方法即可,具体的处理逻辑:

  1. 清理Session中的用户id
  2. 返回结果

5.3 功能测试

你可能感兴趣的:(瑞吉外卖,SpringBoot,java,spring,boot,后端)