# VUE餐饮管理系统 **Repository Path**: yandaima/vue-catering-management-system ## Basic Information - **Project Name**: VUE餐饮管理系统 - **Description**: VUE3餐饮管理系统,包括用户端\后台管理\数据表.功能:在线点餐+在线预定+到店点餐+会员管理+营销管理+支付管理. - **Primary Language**: JavaScript - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-11-09 - **Last Updated**: 2025-11-13 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 餐饮管理系统 (Catering Management System) 一个基于Vue 3和Node.js的现代化餐饮管理系统,提供完整的餐厅管理解决方案。 ## 目录 - [项目简介](#项目简介) - [功能特性](#功能特性) - [技术栈](#技术栈) - [项目结构](#项目结构) - [环境要求](#环境要求) - [快速开始](#快速开始) - [安装部署](#安装部署) - [开发指南](#开发指南) - [API文档](#api文档) - [数据库设计](#数据库设计) - [许可证](#许可证) ## 项目简介 餐饮管理系统是一个为餐厅和餐饮企业设计的全栈Web应用,旨在帮助餐厅高效管理日常运营。系统提供了从用户管理、菜品管理到订单处理的完整功能,界面现代化且易于使用。 默认管理员账号: - 用户名: admin - 密码: admin123 ## 功能特性 ### 用户管理 - 用户注册与登录 - 权限管理(管理员/普通用户) - 个人信息管理 - 用户列表管理 ### 菜品管理 - 菜品信息维护(名称、描述、价格、图片) - 菜品分类管理 - 菜品规格设置 - 菜品材料管理 ### 订单管理 - 订单创建与处理 - 订单状态跟踪(待制作、制作中、已完成、已取消) - 订单详情查看 - 订单统计分析 ### 仪表板 - 实时数据统计(今日订单、收入等) - 热门菜品排行 - 近期订单展示 - 规格和材料统计 ## 技术栈 ### 前端 - Vue 3 (Composition API) - Vue Router 4 - Element Plus UI组件库 - Axios (HTTP客户端) - Vite (构建工具) ### 后端 - Node.js - Express.js - MySQL (数据库) - JWT (身份验证) - Bcrypt (密码加密) - Sequelize (ORM框架) ### 开发工具 - Visual Studio Code - Git (版本控制) - Postman (API测试) ## 项目结构 ``` 餐饮管理系统/ ├── backend/ # 后端代码 │ ├── config/ # 配置文件 │ ├── controllers/ # 控制器 │ ├── models/ # 数据模型 │ ├── routes/ # 路由 │ ├── services/ # 业务逻辑 │ ├── utils/ # 工具函数 │ ├── app.js # 应用入口 │ └── package.json # 后端依赖 ├── frontend/ # 前端代码 │ ├── public/ # 静态资源 │ ├── src/ # 源代码 │ │ ├── assets/ # 静态资源 │ │ ├── components/ # 组件 │ │ ├── router/ # 路由配置 │ │ ├── services/ # API服务 │ │ ├── views/ # 页面视图 │ │ ├── App.vue # 根组件 │ │ ├── main.js # 应用入口 │ │ └── style.css # 全局样式 │ ├── index.html # HTML模板 │ └── package.json # 前端依赖 ├── database_design.md # 数据库设计文档 ├── API_DOCUMENTATION.md # API文档 └── README.md # 项目说明文档 ``` ## 环境要求 - Node.js >= 16.0.0 - npm >= 8.0.0 - SQLite >= 3.0.0 ## 快速开始 ### 1. 启动后端服务 ```bash cd backend npm install node config/sync.js # 初始化数据库 node create-admin-user.js # 创建管理员账户 npm start # 启动后端服务 ``` 后端服务将在 http://localhost:3000 上运行 ### 2. 启动前端开发服务器 ```bash cd frontend npm install npm run dev ``` 前端开发服务器将在 http://localhost:5173 上运行 ### 3. 访问应用 打开浏览器访问 http://localhost:5173 使用默认管理员账号登录: - 用户名: admin - 密码: admin123 ## 安装部署 ### 1. 克隆项目 ```bash git clone cd 餐饮管理系统 ``` ### 2. 安装后端依赖 ```bash cd backend npm install ``` ### 3. 安装前端依赖 ```bash cd ../frontend npm install ``` ### 4. 配置环境变量 在 `backend/.env` 文件中配置以下环境变量: ```env PORT=3000 JWT_SECRET=your_jwt_secret_key ``` ### 5. 初始化数据库 系统支持两种方式初始化数据库: #### 方式一:使用现有脚本(SQLite) ```bash cd backend node config/sync.js ``` #### 方式二:使用MySQL数据库 1. 确保已安装MySQL数据库并创建了数据库: ```sql CREATE DATABASE canyinguanli CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; CREATE USER 'canyinguanli'@'localhost' IDENTIFIED BY 'canyinguanli!'; GRANT ALL PRIVILEGES ON canyinguanli.* TO 'canyinguanli'@'localhost'; FLUSH PRIVILEGES; ``` 2. 初始化表结构和模拟数据: ```bash cd backend node init-database.js ``` ### 6. 创建管理员账户 ```bash node create-admin-user.js ``` ### 7. 构建前端项目 ```bash cd frontend npm run build ``` ### 8. 启动生产服务 启动后端服务: ```bash cd backend npm start ``` 访问应用:http://localhost:3000 ## 开发指南 ### 前端开发 1. 组件结构 - Layout组件提供整体布局 - 各个功能模块作为独立视图组件 - 可复用组件放在components目录 2. 路由管理 - 使用Vue Router进行页面路由 - 路由守卫实现权限控制 3. 状态管理 - 使用Composition API管理组件状态 - 服务层封装API调用 ### 后端开发 1. API设计 - RESTful API设计原则 - 统一的响应格式 - 错误处理机制 2. 数据库操作 - 使用Sequelize ORM - 数据模型定义 - 数据验证 3. 安全性 - JWT身份验证 - 密码加密存储 - 输入验证和清理 ## API文档 详细的API文档请查看 [API_DOCUMENTATION.md](./backend/API_DOCUMENTATION.md) 文件。 ## 数据库设计 数据库设计详情请查看 [database_design.md](database_design.md) 文件。 ## 许可证 本项目仅供学习和参考使用。