codecanyon-55116396-tabletrack-the-complete-saas-restaurant-management-solution

作者 : tideit 本文共3151个字,预计阅读时间需要8分钟 发布时间: 2026-03-11 共4人阅读
# TableTrack - 完整SaaS餐厅管理解决方案

## 项目概述
- **项目类型**:Web应用(Laravel SaaS多租户系统)
- **主要功能**:综合性餐厅管理系统,支持多餐厅、多POS、库存管理、员工管理、订阅计费
- **技术栈**:
  - 后端框架:Laravel 12
  - 前端:Livewire 3.5 + Tailwind CSS
  - 数据库:MySQL/PostgreSQL
  - 认证:Laravel Jetstream + Sanctum
  - 支付:Stripe、PayPal、Mollie、Razorpay等
  - 订阅:Laravel Cashier (Stripe/Paddle)
  - 实时通信:Pusher
  - 模块系统:nwidart/laravel-modules

## 模块结构

```
script/
├── app/
│   ├── Console/              # 命令行工具
│   ├── Events/               # 事件类
│   ├── Exceptions/           # 异常处理
│   ├── Helpers/              # 辅助函数
│   ├── Http/
│   │   ├── Controllers/      # 控制器
│   │   └── Middleware/       # 中间件
│   ├── Models/               # Eloquent模型
│   ├── Notifications/        # 通知类
│   ├── Optionbuilder/        # 选项构建器
│   ├── Providers/            # 服务提供者
│   ├── Rules/                # 验证规则
│   ├── Services/             # 业务服务
│   ├── Traits/               # 特性类
│   └── View/                 # 视图组件
├── Modules/                  # 模块化组件(可插拔)
│   ├── BackupModule/         # 备份模块
│   ├── CashRegisterModule/   # 收银模块
│   ├── InventoryModule/      # 库存模块
│   ├── KioskModule/          # 自助点餐模块
│   ├── KitchenModule/        # 厨房显示模块
│   ├── LanguagePackModule/   # 语言包模块
│   ├── MultiPOSModule/       # 多POS模块
│   ├── SMSModule/            # 短信模块
│   └── SubdomainModule/      # 子域名模块
├── bootstrap/
├── config/
├── database/
├── lang/                     # 多语言文件
│   ├── ar/                   # 阿拉伯语
│   ├── en/                   # 英语
│   ├── es/                   # 西班牙语
│   ├── fr/                   # 法语
│   ├── pt/                   # 葡萄牙语
│   └── ru/                   # 俄语
├── resources/
│   ├── css/
│   ├── js/
│   └── views/
├── routes/
│   ├── admin.php             # 后台路由
│   ├── api.php               # API路由
│   ├── auth.php              # 认证路由
│   ├── channels.php          # 广播频道
│   ├── console.php           # 命令路由
│   ├── optionbuilder.php     # 选项构建器路由
│   ├── pagebuilder.php       # 页面构建器路由
│   └── web.php               # Web路由
└── storage/
```

## 核心业务逻辑

### 1. 多租户SaaS架构
- **租户隔离**:每个餐厅独立数据隔离
- **子域名支持**:restaurant.tabletrack.com 格式
- **订阅管理**:基于Laravel Cashier的订阅计费
- **计划限制**:不同订阅计划的功能限制

### 2. 餐厅管理
- **多餐厅支持**:一个账户管理多个餐厅分店
- **餐厅设置**:基本信息、营业时间、配送设置
- **餐桌管理**:餐桌布局、容量、状态管理
- **区域管理**:餐厅内不同区域划分

### 3. 菜单与订单管理
- **菜单管理**:分类、菜品、价格、图片
- **变体管理**:菜品规格、加料选项
- **订单流程**:点餐→厨房→出餐→结账
- **订单状态**:待处理、制作中、待出餐、已完成

### 4. 厨房显示系统(KDS)
- **实时订单流**:新订单实时推送到厨房
- **状态更新**:厨师更新订单制作状态
- **时间管理**:显示订单等待时间
- **优先级管理**:VIP订单优先显示

### 5. 库存管理
- **原料管理**:原材料入库、出库
- **库存预警**:低库存自动提醒
- **供应商管理**:供应商信息和采购订单
- **成本计算**:基于原料的成本分析

### 6. 员工管理
- **角色权限**:管理员、经理、服务员、厨师
- **排班系统**:员工排班和考勤
- **权限控制**:基于Spatie Permission的细粒度权限
- **绩效跟踪**:销售业绩和效率统计

### 7. 收银与支付
- **收银台**:完整的收银界面
- **多支付方式**:现金、信用卡、移动支付
- **分账管理**:支持分桌结账
- **小费管理**:服务员小费记录

### 8. 报表与分析
- **销售报表**:日/周/月销售统计
- **菜品分析**:热销菜品、滞销菜品
- **员工绩效**:服务员销售业绩
- **财务报表**:收入、支出、利润分析

### 9. 预订管理
- **在线预订**:顾客在线预订餐桌
- **预订确认**:邮件和短信确认
- **预订提醒**:自动发送提醒通知
- **排队系统**:等位排队管理

### 10. 自助点餐(Kiosk)
- **自助终端**:顾客自助点餐界面
- **支付集成**:自助支付结账
- **订单打印**:自动打印订单小票

## 核心代码分析

### 主要模型关系

#### Restaurant模型
```php
class Restaurant extends Model
{
    // 关联关系
    public function owner()           // 餐厅所有者
    public function tables()          // 餐桌
    public function menus()           // 菜单
    public function orders()          // 订单
    public function staff()           // 员工
    public function subscription()    // 订阅信息
    public function inventory()       // 库存
}
```

#### Order模型
```php
class Order extends Model
{
    // 关联关系
    public function restaurant()      // 所属餐厅
    public function table()           // 餐桌
    public function items()           // 订单项
    public function payments()        // 支付记录
    public function kitchenLogs()     // 厨房处理记录
}
```

### 支付系统集成
支持多种支付网关:
- **Stripe**:信用卡支付 + 订阅管理
- **PayPal**:PayPal账户支付
- **Paddle**:订阅计费
- **Mollie**:欧洲支付
- **Razorpay**:印度支付
- **Paystack**:非洲支付
- **Flutterwave**:非洲支付
- **PayFast**:南非支付
- **Xendit**:东南亚支付

### 模块系统
使用 `nwidart/laravel-modules` 实现模块化:
- 每个模块可独立启用/禁用
- 模块间通过Service Provider通信
- 支持模块间的依赖关系

### 多语言支持
- 使用 `spatie/laravel-translatable` 实现字段级翻译
- 支持6种语言:英语、阿拉伯语、西班牙语、法语、葡萄牙语、俄语
- 自动翻译集成

### 数据库核心表
```
tenants                        # 租户表(多租户核心)
restaurants                    # 餐厅表
restaurant_settings            # 餐厅设置
tables                         # 餐桌表
menus                          # 菜单表
menu_categories                # 菜单分类
menu_items                     # 菜单项
orders                         # 订单表
order_items                    # 订单项
kitchen_orders                 # 厨房订单
inventory_items                # 库存项

... (content truncated)

资源在线 » codecanyon-55116396-tabletrack-the-complete-saas-restaurant-management-solution

常见问题FAQ

发表评论