Skip to content
Senarai Portfolio
Prototaip R&DBeta

Tenjin — POS Restoran

TENJIN — Edge-first Cloud POS

Prototaip R&D untuk sistem titik jualan restoran dengan dapur KDS dan mod luar talian.

2026 Beta dalaman 5 bulan 2026-03
#Offline-first#CRDT#Edge Compute#POS#Payments#Local-first

Demo Langsung

Pratonton skrin aplikasi sebenar

DEMO
app.tenjin.jp/dashboard
本日来客数
127組
本日売上
¥482,300
客単価
¥3,800

テーブル 5 - 注文

4名様

枝豆

380

2

唐揚げ

580

1

刺身盛り合わせ

1,280

1

生ビール (中)

520

3

焼き鳥盛り (5本)

780

1
小計¥4,960
消費税 (10%)¥496
合計¥5,456

キッチンディスプレイ

未完了: 4
テーブル52:34

唐揚げ x2

枝豆 x1

テーブル125:12

刺身盛り x1

サーモン南蛮 x1

優先対応
テーブル31:05

焼き鳥盛り x2

テーブル88:47

厚焼き玉子 x1

冷奴 x2

唐揚げ x1

優先対応

Cabaran

Menyampaikan operasi POS luar talian pertama yang penyegerakannya pulih dengan elegan, dengan KDS dapur masa nyata dan pengendalian pesanan berbilang bahagian.

Penyelesaian

Aplikasi React berciri PWA dengan kedai CRDT tempatan, saluran penyegerakan latar belakang, dan papan KDS soket-web — disahkan melalui skrip validasi dalaman.

Hasil

  • Pemulihan luar talian disahkan merentasi 500+ simulasi pesanan dalam ujian dalaman
  • Kependaman paparan KDS dapur median <300ms pada perkakasan penanda aras
  • Ujian kebolehgunaan dalaman dengan 6 penguji — 4.3/5 kepuasan
  • Beta dalaman — tiada penggunaan restoran berbayar
Key Metrics

Measured Impact

同期ラグ中央値

280ms

オフライン稼働時間

90分+

手動マージ

0件

P95応答時間

65ms

Features

What it does

オフライン体験

完全オフライン注文

ネットワーク断絶時も全機能が動作し、復帰時にCRDTで自動マージ。

決済キューイング

オフライン時の決済を暗号化ローカルキューに積み、オンライン復帰で自動再送。

運用

キッチンディスプレイ連携

注文がキッチンディスプレイにリアルタイム同期し、ステータスも双方向更新。

シフト別売上

ランチ/ディナーなどシフト単位で自動集計。

マルチ店舗

横断ダッシュボード

店舗横断の売上・客単価・商品別分析をリアルタイム表示。

メニュー中央管理

メニュー変更を本部から全店舗へ配信し、オフライン端末にも後追い反映。

Architecture

System Layers

Layered architecture showing components, responsibilities, and data flow.

L1

Layer

端末

タブレットでオフライン完結する注文・会計UI。Service Workerで完全オフライン起動可能。

PWAReactYjsIndexedDB
L2

Layer

エッジ同期

店舗ごとにDurable Objectインスタンスを生成し、CRDT差分をリアルタイム配信。

Cloudflare WorkersDurable ObjectsWebSocket
L3

Layer

永続化

マテリアライズドビューはD1、レシート画像やレポートはR2に保管。

D1R2Object Storage
L4

Layer

決済

オンライン時は即時処理、オフライン時は暗号化キューに保留し再送。

Stripe Terminalオフラインキュー
L5

Layer

分析

店舗横断の売上・客単価・商品別人気をClickHouseで集計。

ClickHouseGrafana
Development Process

How we built it

01

Discovery

飲食店の典型的なピークタイム業務をタイムラインで観察し、UIの制約を抽出。

Deliverables

  • ユーザージャーニー
  • UI制約ドキュメント
02

CRDTモデリング

注文の順序付け・会計分割・返金を表現するYjsドキュメント構造を設計。

Deliverables

  • CRDTスキーマ
  • マージテストケース
03

同期アーキテクチャ

Durable Objects vs 自前サーバ vs Liveblocksの比較検証を実施。

Deliverables

  • ADR (同期)
  • レイテンシ計測結果
04

Implementation

PWAシェル、CRDTストア、エッジ同期層を並行実装。

Deliverables

  • PWA
  • Workerサービス
  • 管理画面
05

Offline QA

Playwright + ネットワーク制約シミュレーションで90分オフラインシナリオを検証。

Deliverables

  • 自動テストスイート
06

パイロット準備

実機タブレット上での熱負荷テストと電源遮断テストを実施。

Deliverables

  • 耐久テストレポート
07

Iteration

ベータ店舗からのUX改善点を週次で反映。

Deliverables

  • UX改善ログ
Roadmap

Delivery Timeline

  • P0Done2026-03-06

    CRDTデータモデル

    注文・商品・会計のYjsスキーマと競合ポリシを設計。

  • P1Done2026-03-22

    端末アプリ

    PWA + IndexedDBによる完全オフライン動作する注文UIを実装。

  • P2In Progress2026-04-18

    Cloudflare同期層

    Durable ObjectsベースのテナントごとのCRDTルームを実装中。

  • P3Planned2026-05

    決済とKDS統合

    Stripe Terminalとキッチンディスプレイシステムの連携を予定。

  • P4Planned2026-06

    限定店舗でのベータ

    協力店舗1店でのクローズドベータ運用を予定。

Team

Who built it

2engineers

Roles

  • フルスタック/PWA
  • エッジ/バックエンド
Teknologi

Tools & Platforms

Frontend

React 19TypeScript

Infrastructure

Cloudflare WorkersSentry

Other

YjsIndexedDBDurable ObjectsD1R2Stripe TerminalHonoDrizzle ORMPlaywright
Build with KGA

Berminat dengan projek serupa?

Kami akan mencadangkan penyelesaian terbaik untuk perniagaan anda.

Bincang Projek Anda