murchace は以下の機能を備えた注文管理 Web システムです。
- 誰が何の商品を買ったかを把握
- 提供待ちキューを賢く捌く
- 売上を即座に知る
開発者向けのドキュメントは、 docs を参照してください。
purchase /ˈpɜː.t͡ʃəs/ 「購入する」、merchandise /ˈmɜːt͡ʃəndaɪs/ 「商品」を組み合わせ、接尾語に ace /eɪs/ 「秀でている」を充てた造語です。 マーチェス /ˈmɜːt͡ʃəs/ もしくはマーチェイス /ˈmɜːt͡ʃeɪs/ と読みます。
Python のパッケージマネージャ uv のインストールが必要です。 インストールが終わった後に、次のコマンドを実行すると Web サーバが起動します:
$ uv run --frozen doit serve別の実行方法として、podman でコンテナを利用する場合は以下のコマンドを実行してください:
$ podman volume create murchace-db
$ podman run -d --name murchace -p 8000:8000 -v murchace-db:/murchace/db ghcr.io/tut-cc/murchace:mainmurchace は注文確定時にネットワーク経由(ESC/POS)でレシートを自動印刷する機能を備えています。
セイコーエプソン社製のTM-T70Ⅱにて動作を確認していますが、ESC/POS に対応している他のプリンターでも動作する可能性があります。
.env.example をコピーして .env を作成し、環境に合わせて設定してください。
| 環境変数名 | デフォルト値 | 説明 |
|---|---|---|
MURCHACE_RECEIPT_PRINTER_HOST |
(空文字) | レシートプリンターの IP アドレス(未指定の場合は印刷をスキップ) |
MURCHACE_RECEIPT_PRINTER_PORT |
9100 |
プリンターの RAW ポート番号 |
MURCHACE_RECEIPT_PRINTER_TIMEOUT |
10 |
プリンターへの接続タイムアウト秒数 |
MURCHACE_RECEIPT_PAPER_WIDTH |
34 |
用紙幅(半角文字数)。58mm 幅用紙の場合は 34(TM-T70Ⅱ等)、80mm 幅の場合は 48 程度が目安 |
MURCHACE_RECEIPT_STORE_NAME |
murchace |
レシート上部に印字される店舗名 |
MURCHACE_RECEIPT_STORE_ADDRESS |
(空文字・印字なし) | レシート上部に印字される店舗住所 |
MURCHACE_RECEIPT_LOGO_PATH |
(空文字・印字なし) | 印字するロゴ画像のパス(未指定または見つからない場合はスキップ) |
Note: プリンターの IP アドレス(
MURCHACE_RECEIPT_PRINTER_HOST)が未設定の場合、印刷処理は自動的にスキップされ、通常の注文処理のみが実行されます。