forked from p4b8lshcr/ChefTronic
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
2 months ago | |
|---|---|---|
| backend | 2 months ago | |
| frontend | 2 months ago | |
| LICENSE | 2 months ago | |
| README.md | 2 months ago | |
README.md
智能餐饮管理系统
项目简介
这是一个功能完整的智能餐饮管理系统,支持餐厅管理员、服务员和顾客三种角色,实现了从点餐、库存管理到数据分析的全流程管理。
技术栈
后端
- 框架: Node.js + Express 4.18+
- 数据库: MySQL 8.0+
- 身份认证: JWT (jsonwebtoken)
- 密码加密: bcryptjs
- 文件上传: multer
- 跨域处理: cors
前端
- 框架: Vue.js 3
- UI组件库: Element Plus
- 状态管理: Pinia
- HTTP客户端: Axios
- 路由: Vue Router
- 构建工具: Vite
项目结构
restaurant_system/
├── backend/ # 后端代码
│ ├── config/ # 配置文件
│ ├── models/ # 数据库模型
│ ├── routes/ # API路由
│ ├── controllers/ # 控制器
│ ├── middleware/ # 中间件
│ ├── utils/ # 工具函数
│ ├── uploads/ # 上传文件目录
│ ├── server.js # 应用入口
│ ├── package.json # 后端依赖
│ └── .env # 环境变量配置
├── frontend/ # 前端代码
│ ├── src/
│ │ ├── components/ # Vue组件
│ │ ├── views/ # 页面视图
│ │ ├── router/ # 路由配置
│ │ ├── store/ # 状态管理
│ │ ├── api/ # API接口
│ │ └── utils/ # 工具函数
│ ├── public/ # 公共资源
│ └── package.json # 前端依赖
└── docs/ # 项目文档
├── database_design.md # 数据库设计文档
└── api_docs.md # API接口文档
功能模块
1. 用户管理
- ✅ 用户注册(管理员/服务员/顾客)
- ✅ 用户登录(JWT令牌认证)
- ✅ 角色权限控制
2. 菜品管理
- ✅ 添加/修改/删除菜品
- ✅ 菜品信息(名称、价格、图片、口味、原材料)
- ✅ 菜品分类
3. 菜单管理
- ✅ 按时段设置菜单(午餐/晚餐)
- ✅ 特殊节日菜单
- ✅ 电子菜单展示
4. 订单管理
- ✅ 接收点餐请求
- ✅ 订单详情记录
- ✅ 订单状态跟踪
5. 库存管理
- ✅ 食材进货记录
- ✅ 食材消耗追踪
- ✅ 库存不足提醒
- ✅ 过期食材警告
6. 预订管理
- ✅ 在线预订座位
- ✅ 外卖预订
- ✅ 查看/修改/取消预订
7. 会员管理
- ✅ 会员信息管理
- ✅ 积分累积
- ✅ 优惠券发放
- ✅ 会员专享优惠
8. 数据分析
- ✅ 销售统计报表
- ✅ 顾客行为分析
- ✅ 菜品受欢迎度排行
9. 支付结算
- ✅ 多种支付方式(模拟)
- ✅ 订单结算
- ✅ 电子发票生成
环境要求
- Node.js >= 16.0.0
- MySQL >= 8.0
- npm >= 8.0.0
快速开始
1. 安装依赖
后端
cd backend
npm install
前端
cd frontend
npm install
2. 配置环境变量
编辑 backend/.env 文件,配置数据库连接信息:
PORT=5000
DB_HOST=localhost
DB_USER=root
DB_PASSWORD=你的数据库密码
DB_NAME=restaurant_db
JWT_SECRET=your_super_secret_key
3. 初始化数据库
# 登录MySQL
mysql -u root -p
# 创建数据库
CREATE DATABASE restaurant_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
4. 启动项目
后端
cd backend
npm run dev
后端将运行在: http://localhost:5000
前端
cd frontend
npm run dev
前端将运行在: http://localhost:3000
5. 访问系统
打开浏览器访问: http://localhost:3000
开发进度
- 步骤1:项目初始化与环境配置
- 步骤2:数据库设计
- 步骤3:基础架构搭建
- 步骤4:用户认证系统
- 步骤5:菜品管理功能
- 步骤6:菜单管理功能
- 步骤7:订单管理功能
- 步骤8:库存管理功能
- 步骤9:预订管理功能
- 步骤10:会员管理功能
- 步骤11:支付结算功能
- 步骤12:数据分析与报表
- 步骤13:前端界面开发
- 步骤14:测试与优化
默认账户
系统初始化后会创建以下测试账户:
- 管理员: admin / admin123
- 服务员: waiter / waiter123
- 顾客: customer / customer123
作者
李俊烨 冯昊 李鸿越 孙亮
许可证
MIT License