Skip to content

changyuheng/catering-system

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 

Repository files navigation

食堂订餐管理系统

一个基于 Vue 3 + FastAPI 的企业食堂订餐管理系统,提供菜品管理、订单管理、用户管理等功能。

技术栈

  • 前端: Vue 3 + Vue Router + Vuex + Element Plus
  • 后端: FastAPI + SQLAlchemy + SQLite
  • 认证: JWT + bcrypt
  • 部署: Docker + Nginx + Supervisor

功能特性

用户端功能

  • 用户登录/注册
  • 查看菜品列表
  • 订餐下单
  • 查看订单状态
  • 个人中心

管理端功能

  • 菜品分类管理
  • 菜品信息管理
  • 订单管理
  • 用户管理
  • 统计报表

快速开始

环境要求

  • Docker >= 20.10
  • Docker Compose (可选)

运行方式

# 构建镜像
docker build -t catering-system:latest .

# 运行容器
docker run -d -p 80:80 --name catering-app catering-system:latest

访问地址

默认账号

角色 用户名 密码
系统管理员 admin admin123
食堂管理员 canteen canteen123
测试员工 employee employee123

项目结构

repo/
├── frontend/           # 前端代码
│   ├── public/         # 静态资源
│   ├── src/
│   │   ├── api/        # API 接口封装
│   │   ├── router/     # 路由配置
│   │   ├── store/      # 状态管理
│   │   ├── utils/      # 工具函数
│   │   ├── views/      # 页面组件
│   │   ├── App.vue     # 根组件
│   │   └── main.js     # 入口文件
│   ├── package.json
│   └── vue.config.js
├── backend/            # 后端代码
│   ├── app/
│   │   ├── api/        # API 路由
│   │   ├── core/       # 核心配置
│   │   ├── db/         # 数据库配置
│   │   ├── models/     # 数据模型
│   │   ├── schemas/    # 数据验证
│   │   └── services/   # 业务逻辑
│   ├── main.py         # 应用入口
│   └── requirements.txt
└── supervisord.conf    # Supervisor 配置

API 接口

认证接口

方法 路径 描述
POST /api/v1/auth/login 用户登录
GET /api/v1/auth/me 获取当前用户

菜品接口

方法 路径 描述
GET /api/v1/dishes 获取菜品列表
POST /api/v1/dishes 创建菜品
GET /api/v1/dishes/{id} 获取菜品详情
PUT /api/v1/dishes/{id} 更新菜品
DELETE /api/v1/dishes/{id} 删除菜品

订单接口

方法 路径 描述
GET /api/v1/orders 获取订单列表
POST /api/v1/orders 创建订单
GET /api/v1/orders/{id} 获取订单详情
PUT /api/v1/orders/{id} 更新订单状态

开发指南

前端开发

cd repo/frontend
npm install
npm run serve

后端开发

cd repo/backend
pip install -r requirements.txt
uvicorn main:app --reload

部署说明

Docker 部署(推荐)

# 构建并运行
docker build -t catering-system:latest .
docker run -d -p 80:80 --name catering-app catering-system:latest

环境变量

变量名 说明 默认值
DATABASE_URL 数据库连接地址 sqlite:///./app.db
SECRET_KEY JWT 密钥 随机生成
ACCESS_TOKEN_EXPIRE_MINUTES Token 过期时间 30

许可证

MIT License

About

# 食堂订餐管理系统 一个基于 Vue 3 + FastAPI 的企业食堂订餐管理系统,提供菜品管理、订单管理、用户管理等功能。 ## 技术栈 - **前端**: Vue 3 + Vue Router + Vuex + Element Plus - **后端**: FastAPI + SQLAlchemy + SQLite - **认证**: JWT + bcrypt - **部署**: Docker + Nginx + Supervisor ## 功能特性 ### 用户端功能 - 用户登录/注册 - 查看菜品列表 - 订餐下单 - 查看订单状态 - 个人中心 ### 管理端功能 - 菜品分类管理 - 菜品信息管理 - 订单管理 - 用户管理 - 统计报表

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors