CoolFace
Apppublic

Taq8/shinnihon-eventlog-poc

sourceHugging Faceupdated 4mo agoView on Hugging Face
0likes
App README

新日本開発|作業工程DX化 PoC(イベントログ収集・動く体験デモ)

スマホで公開URLを開き、工程を選び、工番QRをカメラで読むと、 スプレッドシート風の記録(SSOT)に1行増え、ダッシュボードで 工程の流れ・所要時間・滞留が見えるようになる体験デモです。

設計の正本: workspace/shinnihon-dx/shinnihon_eventlog_collection_implementation.md (このアプリはその "動く体験デモ" です)

⚠ 公開デモのため サンプルデータ専用・実データの入力は禁止。 データは揮発します(Space再ビルドで消去)。

体験の流れ

  1. 1./(スキャン)… 工程ボタン[受入/切断/溶接・組立/仕上/払出]を1つ選ぶ → 「工番QRをかざす」でカメラ起動 → 読取った瞬間に記録(送信ボタン不要) → 「✓ 記録 工番J-2406-017/溶接・組立/14:32」と大きく表示。連続スキャン可。 端末名は任意入力。カメラの無いPCでもサンプル工番ボタンで体験可。
  2. 2./dashboard … 直近イベント一覧/工番別タイムライン(簡易ガント)/ 工程別 件数・平均所要/未完了工番(払出未達)一覧。数秒ごと自動更新。
  3. 3./qr … 印刷用のサンプル工番QR(J-2406-017/018/019)と工程起動QR。
  4. 4./seed … サンプルイベントを投入してダッシュボードを即賑やかに。/reset で全消去。

設計の反映ポイント

  • —中間工程はIN記録のみ。stage=払出 で当該工番を完了扱い(io=OUT)。
  • —リードタイム = 次工程IN − 当工程IN の差分で算出(OUT再スキャンに非依存)。
  • —読むだけで記録(送信ボタンを押させない)。直前と同一コードの連続読みは無視。
  • —書込前トークン照合(/record は token クエリ or X-Token ヘッダを照合)。

エンドポイント

メソッドパス役割
GET/スキャンUI(html5-qrcode・カメラ)
POST/record?token=...1イベント記録(JSON: {job, stage, qty, device})
GET/dashboardダッシュボード(polling 4秒)
GET/api/summary集計JSON
GET/qr印刷用QR一覧
GET/qr/img?data=...QR画像(PNG)
POST/seed / /resetサンプル投入 / 全消去
GET/healthヘルスチェック

ローカル起動

bash
pip install -r requirements.txt
uvicorn app:app --host 0.0.0.0 --port 7860
# → http://localhost:7860/

環境変数(任意):

  • —WRITE_TOKEN … 書込トークン(既定 demo-token)
  • —PORT … 待受ポート(既定 7860)
  • —DB_PATH … SQLite保存先(既定 /tmp/events.db、Dockerでは /tmp)

HF Spaces デプロイ(Docker SDK)

  • —Space SDK = docker
  • —app_port = 7860(README front-matter / Dockerfile EXPOSE と一致)
  • —起動コマンドは Dockerfile の CMD(uvicorn app:app --host 0.0.0.0 --port 7860)
  • —必要ファイル: app.py / Dockerfile / requirements.txt / README.md / static/
  • —実データ禁止のため WRITE_TOKEN は Space Secrets で上書き推奨(既定でも動作可)。