Spring Boot实训项目 瑞吉外卖功能实现(一)

简介: Spring Boot实训项目 瑞吉外卖功能实现

1 实训基本信息

1.1 实训项目名称

“外卖点餐”系统。

1.2 实训时间及地点

2 实训内容简介

本项目(“外卖点餐”系统)是专门为餐饮企业(餐厅、饭店)定制的-款软件产品,包括系统管理后台和移动端应用两部分。

其中系统管理后台主要提供给餐饮企业内部员工使用,可以对餐厅的菜品、套餐、订单等进行管理维护。移动端应用主要提供给消费者使用,可以在线浏览菜品、添加购物车、下单等。

3 需求分析

3.1 软硬件条件

IDEA 2021.2.3

MySQL 5.5

MyBatis

MyBatisPlus

Git: 版本控制工具。

Maven: 3.6.1

Junit:单元测试工具。

3.2 技术可行性

3.2.1 技术需求

外卖点单、支付、订单管理、配送等功能是瑞吉外卖必不可少的技术需求。此外,还需要提供用户注册、登录、反馈、推荐等功能。

3.2.2 市场需求

外卖市场的需求是巨大的,但竞争也是非常激烈的。应该进行市场细分,并确定与众不同的商业模式和目标用户,同时提供具有差异化的服务和体验。

3.2.3 开发成本

应该评估开发瑞吉外卖应用所需的成本,包括技术设计、软件工程、移动端应用开发、数据分析等方面。

3.2.4 数据连通性

外卖应用需要和多个配送和支付供应商的应用进行连接,确保订单的顺利传递和支付的正确处理。

3.2.5 用户体验

好的用户体验是被用户所赞赏和记住的重要要素。外卖应用中,用户体验包括易用、快速、准确、方便等多个方面。

4 功能设计

4.1 管理端

4.1.1 登录/退出

内部员工必须登录后,才可以访问系统管理后台。

4.1.2 员工管理

管理员可以在系统后台对员工信息进行管理,包含查询、新增、编辑、禁用等功能。

4.1.3 分类管理

主要对当前餐厅经营的菜品分类或套餐分类进行管理维护,包含查询、新增、修改、删除等功能。

4.1.4 菜品管理

主要维护各个分类下的菜品信息,包含查询、新增、修改、删除、启售、停售等功能。

4.1.5 套餐管理

主要维护当前餐厅中的套餐信息,包含查询、新增、修改、删除、启售、停售等功能。

4.1.6 订单明细

主要维护用户在移动端下的订单信息,包含查询、取消、派送、完成,以及订单报表下载等功能。

4.2 用户端

4.2.1 登录/退出

在移动端, 用户也需要登录后使用APP进行点餐。

4.2.2 点餐-菜单

在点餐界面需要展示出菜品分类/套餐分类, 并根据当前选择的分类加载其中的菜品信息, 供用户查询选择。

4.2.3 点餐-购物车

用户选中的菜品就会加入用户的购物车, 主要包含查询购物车、加入购物车、删除购物车、清空购物车等功能。

4.2.4 订单支付

用户选完菜品/套餐后, 可以对购物车菜品进行结算支付, 这时就需要进行订单的支付。

4.2.5 个人信息

在个人中心页面中会展示当前用户的基本信息, 用户可以管理收货地址, 也可以查询历史订单数据。

5 数据库设计

用户表

字段

数据类型

主键

外键

是否为空

说明

Id

bigint(20)

Name

varchar(50)

姓名

Phone

varchar(100)

手机号

Sex

varchar(2)

性别

Id_number

varchar(18)

身份证号

Avatar

Status

varchar(500)

int(11)

头像

状态

购物车表

字段

数据类型

主键

外键

是否为空

说明

Id

bigint(20)

Name

varchar(50)

名称

Image

varchar(100)

图片

User_id

bigint(20)

用户ID

Dish_Id

bigint(20)

菜品ID

Setmeal_Id

DishFlavor

bigint(20)varchar(50)

套餐ID

口味

Number

int(11)

数量

Amount

CreateTime

decimal(10)

datetime

金额

创建时间

地址薄表

字段

数据类型

主键

外键

是否为空

说明

Id

bigint(20)

User_Id

bigint(20)

用户ID

Consignee

varchar(50)

收货人

Sex

tinyint(4)

性别

Phone

Province

varchar(11)

varchar(12)

手机号

省级编号

Province

Varchar(32)

省级名称

City_code

City_name

varchar(12)

varchar(32)

市级编号

市级名称

District

varchar(12)

区级编号

District

varchar(32)

区级名称

Detail

varchar(200)

详细地址

Label

varchar(100)

标签

Is_default

tinyint(1)

是否默认

Createtime

datetime

创建时间

Updatetime

datetime

更新时间

Createuser

Bigint(20)

创建者

Updateuser

Bigint(20)

修改者

Is_deleted

int(11)

是否删除

分类表

字段

数据类型

主键

外键

是否为空

说明

Id

bigint(20)

Type

int(11)

类型

Name

varchar(64)

名称

Sort

int(11)

顺序

CreateTime UpdateTime

datetime

datetime

创建时间

更新时间

Createuser

bigint(20)

创建者

Updateuser

bigint(20)

修改者

菜品表

字段

数据类型

主键

外键

是否为空

说明

Id

bigint(20)

Name

varchar(64)

菜品名称

CategoryId

bigint(20)

菜品分类ID

Price

decimal(10)

菜品价格

Code

varchar(64)

商品码

Image

Descripte

varchar(200)

varchar(400)

图片

描述信息

Status

int(11)

状态码

Sort

int(11)

顺序

CreateTime UpdateTime

datetime

datetime

创建时间

更新时间

Createuser

Bigint(20)

创建者

Updateuser

Bigint(20)

修改者

Is_deleted

int(11)

是否删除

口味表

字段

数据类型

主键

外键

是否为空

说明

Id

bigint(20)

Dish_Id

bigint(20)

菜品ID

Name

varchar(64)

口味名称

Value

varchar(500)

口味数据

CreateTime UpdateTime

datetime

datetime

创建时间

更新时间

Createuser

Bigint(20)

创建者

Updateuser

Bigint(20)

修改者

Is_deleted

int(11)

是否删除

员工表

字段

数据类型

主键

外键

是否为空

说明

Id

bigint(20)

Name

varchar(32)

姓名

Username

varchar(32)

用户名

Password

varchar(64)

密码

Phone

varchar(11)

手机号

Sex

varchar(2)

性别

Id_Number

varchar(18)

身份证号

Status

Int(11)

状态

CreateTime UpdateTime

datetime

datetime

创建时间

更新时间

Createuser

Bigint(20)

创建者

Updateuser

Bigint(20)

修改者

订单表

字段

数据类型

主键

外键

是否为空

说明

Id

bigint(20)

Number

varchar(50)

订单号

Status

Int(11)

订单状态

User_Id

bigint(20)

下单用户

Address_id

bigint(20)

地址ID

Order_Time CheckTime

datetime

datetime

下单时间

结账时间

Pay_method

int(11)

支付方式

Amount

decimal(10)

实收金额

Remark

varchar(100)

备注

Phone

varchar(255)

手机号

Address

varchar(255)

用户地址

User_name

varchar(255)

用户名

Consignee

varchar(255)

收货人

订单详情表

字段

数据类型

主键

外键

是否为空

说明

Id

bigint(20)

Name

varchar(50)

名称

Image

varchar(100)

图片

Order_Id

bigint(20)

订单ID

Dish_Id

bigint(20)

菜品ID

Setmeal_Id

DishFlavor

bigint(20)

varchar(50)

套餐ID

口味

Number

int(11)

数量

Amount

decimal(10)

金额

套餐表

字段

数据类型

主键

外键

是否为空

说明

Id

bigint(20)

CategoryId

bigint(20)

分类ID

Name

varchar(64)

套餐名称

Price

decimal(10)

套餐价格

Status

Int(11)

状态

Code

varchar(32)

编码

Descripte

varchar(512)

描述信息

Image

varchar(255)

图片

CreateTime UpdateTime

datetime

datetime

创建时间

更新时间

Createuser

Bigint(20)

创建者

Updateuser

Bigint(20)

修改者

Is_Delete

varchar(50)

是否删除

分类表

菜品表

口味表

员工表

目录
相关文章
|
29天前
|
XML Java 应用服务中间件
SpringBoot项目打war包流程
本文介绍了将Spring Boot项目改造为WAR包并部署到外部Tomcat服务器的步骤。主要内容包括:1) 修改pom.xml中的打包方式为WAR;2) 排除Spring Boot内置的Tomcat依赖;3) 添加Servlet API依赖;4) 改造启动类以支持WAR部署;5) 打包和部署。通过这些步骤,可以轻松地将Spring Boot应用转换为适合外部Tomcat服务器的WAR包。
138 64
SpringBoot项目打war包流程
|
1月前
基于springboot+thymeleaf+Redis仿知乎网站问答项目源码
基于springboot+thymeleaf+Redis仿知乎网站问答项目源码
140 36
|
9天前
|
网络协议 Java Shell
java spring 项目若依框架启动失败,启动不了服务提示端口8080占用escription: Web server failed to start. Port 8080 was already in use. Action: Identify and stop the process that’s listening on port 8080 or configure this application to listen on another port-优雅草卓伊凡解决方案
java spring 项目若依框架启动失败,启动不了服务提示端口8080占用escription: Web server failed to start. Port 8080 was already in use. Action: Identify and stop the process that’s listening on port 8080 or configure this application to listen on another port-优雅草卓伊凡解决方案
42 7
|
24天前
|
自然语言处理 IDE Java
SpringBoot start.aliyun.com创建项目,解决properties乱码的问题
通过确保文件和开发环境的编码一致,配置 Maven 编码,设置 Spring Boot 应用和嵌入式服务器的编码,可以有效解决 properties 文件的乱码问题。以上步骤可以帮助开发者确保在 Spring Boot 项目中正确处理和显示多语言字符,避免因编码问题导致的乱码现象。
36 5
|
2月前
|
设计模式 XML Java
【23种设计模式·全精解析 | 自定义Spring框架篇】Spring核心源码分析+自定义Spring的IOC功能,依赖注入功能
本文详细介绍了Spring框架的核心功能,并通过手写自定义Spring框架的方式,深入理解了Spring的IOC(控制反转)和DI(依赖注入)功能,并且学会实际运用设计模式到真实开发中。
【23种设计模式·全精解析 | 自定义Spring框架篇】Spring核心源码分析+自定义Spring的IOC功能,依赖注入功能
|
2月前
|
存储 JSON 前端开发
【Spring项目】表白墙,留言板项目的实现
本文主要介绍了表白墙项目的实现,包含前端和后端代码,以及测试
|
2月前
|
JSON 前端开发 Java
|
2月前
|
缓存 前端开发 Java
【Spring】——SpringBoot项目创建
SpringBoot项目创建,SpringBootApplication启动类,target文件,web服务器,tomcat,访问服务器
|
2月前
|
存储 JavaScript 前端开发
基于 SpringBoot 和 Vue 开发校园点餐订餐外卖跑腿Java源码
一个非常实用的校园外卖系统,基于 SpringBoot 和 Vue 的开发。这一系统源于黑马的外卖案例项目 经过站长的进一步改进和优化,提供了更丰富的功能和更高的可用性。 这个项目的架构设计非常有趣。虽然它采用了SpringBoot和Vue的组合,但并不是一个完全分离的项目。 前端视图通过JS的方式引入了Vue和Element UI,既能利用Vue的快速开发优势,
151 13
|
27天前
|
JavaScript Java 测试技术
基于SpringBoot+Vue实现的留守儿童爱心网站设计与实现(计算机毕设项目实战+源码+文档)
博主是一位全网粉丝超过100万的CSDN特邀作者、博客专家,专注于Java、Python、PHP等技术领域。提供SpringBoot、Vue、HTML、Uniapp、PHP、Python、NodeJS、爬虫、数据可视化等技术服务,涵盖免费选题、功能设计、开题报告、论文辅导、答辩PPT等。系统采用SpringBoot后端框架和Vue前端框架,确保高效开发与良好用户体验。所有代码由博主亲自开发,并提供全程录音录屏讲解服务,保障学习效果。欢迎点赞、收藏、关注、评论,获取更多精品案例源码。
62 10