革命性/自选订单

自选订单系统

4.0.5 2024-08-25 02:39 UTC

README

packagist php tests Maintainability Test Coverage

开源的自选订单系统

screenshot_1

目的

推广使用智能手机进行订单的自选订单。

定义

  • 自选订单:在餐饮店等店内,使用自己的智能手机进行订单。无需安装智能手机应用程序。
  • 移动订单:安装智能手机应用程序进行订单。

在这里定义的自选订单有时也称为餐桌订单,有时也称为商店提供的平板电脑订单。
虽然世界各地对这个词的定义尚未确定,但这里提供的是可以通过一个Web系统实现的自选订单。
使用智能手机的摄像头扫描QR码,在智能手机的浏览器中显示订单系统。无需安装应用程序或进行会员注册。

概要

  • 1家店铺1个系统。
  • 以店铺为单位进行定制。
  • 可用于商业用途。可以将开发、安装和运营作为业务。
  • 默认情况下,不包含支付或POS连接功能。可以扩展,如果需要则可个别处理。
  • 为便于在Vercel上运行,也支持无数据库运行。
  • 为了易于升级,将其作为Laravel的composer包制作。不作为Laravel应用程序制作。大多数功能都包含在包内,因此Laravel侧的开发工作较少。

演示

运行环境

  • PHP ^8.2
  • Laravel ^11.x
  • Livewire 3.x
  • Tailwind 3.x

版本

安装

“用于使用Laravel创建自选订单系统的入门套件”因此必须从创建新的Laravel项目开始。ordering:install命令将覆盖文件。

curl -s "https://laravel.build/self-ordering-project" | bash
cd ./self-ordering-project

composer require revolution/self-ordering

php artisan ordering:install --vercel
# Vercel用のファイルが不要なら--vercelを付けない
php artisan ordering:install

npm install && npm run build

./vendor/bin/sail up -d

http://localhost/order

用于轻松开始的的项目模板。
https://github.com/kawax/self-ordering-starter

.env

ORDERING_MENU_DRIVER=array
ORDERING_ADMIN_PASSWORD=
ORDERING_DESCRIPTION=""

ORDERING_MICROCMS_API_KEY=
ORDERING_MICROCMS_ENDPOINT=https://

routes/web.php

/路由用于显示QR码。

//Route::get('/', function () {
//    return view('welcome');
//});

Route::view('/', 'ordering::help');

安装后可以自由增加页面。

卸载

假设您已经安装到新项目中,因此不能仅卸载此包。请关闭项目。

快速入门

按照上述步骤安装后,需要确定的是“菜单数据的管理方法”和“订单信息的接收方”。

前提条件

  • 不使用支付功能。
  • 自选订单是口头订单的替代品。

菜单数据的管理方法

如果要在商店侧更改菜单,那么 microCMS 最简单,因此请创建microCMS账户并继续。

订单信息的接收方

选择“订单提交时立即注意到的方法”,例如电子邮件或LINE Notify。

商店侧的工作

  • 为店内所有餐桌分配编号。
  • 在桌面上展示QR码。
  • 展示“自选订单的使用方法”。这里准备了,但还没有。
  • 确认从自选订单收到的订单时的操作。

规格

页面

  • 用户订单页面
    • 扫描QR码并显示。输入餐桌号。
    • 选择菜单→订单确认页面→使用支付方式→发送订单→订单历史页面。
  • 商店仪表板
    • 默认情况下为简单的密码认证。

菜单数据

  • array(默认)
  • microCMS
  • Google电子表格
  • Contentful
  • 数据库
  • POS

订单发送方

基本上使用Laravel的通知功能。

  • 电子邮件
  • LINE Notify
  • POS

支付

  • 柜台后付款
  • PayPay

CONTRIBUTING

编码约定

  • PSR-12的过渡期,因此是Laravel(PSR-2基础)和PSR-12的混合。
  • 按照StyleCI(laravel预设)和PhpStorm(Laravel预设修改)的自动格式化进行。

在此包的本地开发方法

将2个存储库本地git clone

git clone https://github.com/kawax/self-ordering
git clone https://github.com/kawax/self-ordering-starter self-ordering-develop
cd ./self-ordering-develop

在starter侧的composer.json中指定使用本地包。

    "repositories": [
        {
            "type": "path",
            "url": "../self-ordering"
        }
    ],
    "require": {
        "revolution/self-ordering": "*"
    },

如果使用Sail,则更改docker-compose.yml的卷。

        volumes:
            - '.:/var/www/html'
            - '../self-ordering:/var/www/self-ordering'
composer install

cp .env.example .env
php artisan key:generate

npm i && npm run build

在启动starter侧的同时在package侧进行工作。

./vendor/bin/sail up -d

LICENCE

MIT