🎪 注文管理システム
ローカルネットワークで動作する、リアルタイム注文管理システムです。レジ端末とキッチン端末をシームレスに連携し、注文状況を即時に共有できます。
⸻
✅ 主な機能 • 🔄 リアルタイム同期:レジとキッチンが即時通信 • 🧑🍳 端末別UI:レジ用・キッチン用インターフェースをそれぞれ用意 • 📊 売上分析:日別売上、商品別統計、収益グラフ • 🌐 ネット不要:インターネットなしでローカル運用可能
⸻
🖥 使用端末
レジ端末 • 注文作成・管理 • 注文状況の確認 • 完了済み履歴表示 • 通信状況の表示
キッチン端末 • 新しい注文をリアルタイム表示 • 「調理開始」「完了」ステータス管理 • 注文が届いたら音で通知 • フィルター・並び替え対応
分析ダッシュボード • 日次売上のグラフ表示 • 商品別売上ランキング • 総売上・注文数の確認
⸻
🛠 技術構成 • フロントエンド:React + TypeScript + Vite • スタイリング:Tailwind CSS • アイコン:Lucide React • グラフ表示:Chart.js(React-Chartjs-2) • リアルタイム通信:Socket.IO • 状態管理:React Context • サーバー:Express + Socket.IO
⸻
🚀 導入手順(ローカル起動)
- リポジトリをクローン
git clone https://github.com/your-username/your-repo.git cd your-repo
- 依存パッケージをインストール
npm install
- サーバー(バックエンド)を起動
別ターミナルで以下を実行:
node server/index.js
- フロントエンドを起動
別のターミナルで以下を実行:
npm run dev
※ ローカルネットワーク内の他の端末から接続する場合、server/index.js 内の IP アドレスとポート(通常3001)を確認してアクセスしてください。
⸻
📌 注意点 • すべての端末は同じWi-Fi(ローカルネットワーク)に接続してください • データは localStorage に一時保存されるため、再読み込みでリセットされます • 印刷や外部APIとの連携は非対応です(シンプルな構成)
⸻
💬 問題が起きたときは
通信できない • サーバーが起動しているか確認 • IPアドレスとポートを再確認 • 端末が同じネットワークにあるか確認
注文が更新されない • ページを更新する • サーバーを再起動する
⸻
📝 メニューの改変
data/menu.tsのファイルを開く
(例) id: 'food_1', name: 'たこ焼き', rice: 140, category: 'food'
id ,name .rice ,category は自由に改変可能 idのみ、他の商品と被らないように注意すること
⸻