一、项目简介
“民以食为天”餐饮行业作为传统行业,传承着中国五千年来的饮食文化,现如今互联网发展迅速,随着餐厅的规模扩大,并伴随年轻消费者的崛起,网上点餐,逐渐成为一项必不可少的功能,传统的服务员点餐也逐渐体现了不够方便和人性化的一面。“点餐”这一个看似简单的过程,直接影响着餐厅的运营成败。为了实现在网上进行餐饮售卖,就一定要有一个自己餐厅的点餐系统,来进行辅助。点餐系统为餐厅增添了用户与餐厅的互动性,还可以实现更加多样化的点餐方式。
这是一个简易的点餐系统,主要分为用户 和 管理员两套使用逻辑
管理员:登陆、查看所有订单、查看订单详情、修改订单状态、添加菜品、删除菜品
用户:注册、登陆、下订单、查看自己的订单、查看订单详情
二、点餐系统——场景
1)用户管理
注册,登录,注销
分成两种角色
消费者用户(顾客)
管理员用户(商家)
2)菜品管理
系统中能够针对菜品进行新增,查看,删除
不同的用户角色,是有不同操作的
针对普通用户,只能查看菜品。
针对管理员,可以新增,查看,删除
3)订单管理
支持新增订单,查看所有订单,查看我的订单,修改订单的完成状态
针对普通用户,可以新增订单,查看我的订单
针对管理员,可以查看所有订单,修改订单状态
项目分为三个模块
1.用户管理
2.菜品管理
3.订单管理
设计数据库
基本方法:
1)根据需求找出实体=>名词 一般来说每个实体至少对应一张表 用户(普通用户+管理员) 菜品 订单
2)分析实体之间的关系
1:1 1:N M:N
用户vs菜品 没有直接关系
用户vs订单 1:N 每个用户都可以下多个订单,一个订单只能对应到一个用户
订单vs菜品 M:N 一个订单会包含多个菜品,一个菜品也可以被多个订单包含
M:N一般通过中间表建立关系
a)菜品表
描述菜的属性:
id int
名称 varchar
价格 一般是带小数点的(精确到分) 【不建议使用double和float,会出现例如:2.99999999999997这样的】
直接使用int(相当于以分为单位)最简单没什么坑
b)用户表
id 用户名 密码 isAdmin(是否为管理员)【int表示 1管理员 0普通用户】
c)订单表(表示订单的表,为了更好的表示订单和菜品的关系,把其拆分成两个部分)
c1)订单-用户表
订单id 用户id 下单时间 是否完结
c2)订单-菜品 表(一个订单中包含多个菜品,需要一个额外的表来进行表示)
订单id 菜品id
三、项目展示
1.注册页面
2.首页
3.登陆页面
4.点餐页面
5.用户订单查看页面
6.用户订单详情页
7.管理员菜品页
8.管理员订单页
四、项目部署
准备工作:
安装 构建环境需要的软件:git命令组(为了从代码仓库可以拉取代码)、jdk(为了进行编译)、maven(为了构建系统)
安装 生产环境需要的软件:jre(为了运行java)、tomcat(为了运行servlet web程序)、“MySQL”服务器
软件的构建与部署
开发阶段->构建阶段->部署阶段->运行阶段
本地机器视为开发环境
gitee网站视为代码仓库
云服务器(Linux)视为构建环境、生产环境、测试环境
第一次 git clone
git pull 去拉取最新修改
1.在云服务器中进入到maven根目录
2.执行mvn clean compile package 进行构建
将构建阶段得到的包放置在 tomcat/webapps下