イルミネーションイベント「ひかリング」配布の記録・集計・在庫・伝言板アプリ。 原型(Google Apps Script + スプレッドシート + LINE)を、PWA + Firebase で再構築したもの。
🔗 本番: https://hikaring-pos-9591.web.app
- 記録(POS): 担当者・配布場所・客層・6色の本数・受取金額(カンパ自由入力)・備考を記録
- 集計: 配布合計 / 客数 / 総額 / 平均単価、色別ドーナツ・時間帯別・客層別グラフ
- 在庫: 色別の初期在庫から残数を自動計算
- 記録一覧: 日付フィルタ・削除、CSV / JSON 書き出し
- 伝言板: 簡易HTML対応のメッセージ表示・ON/OFF
- PWA: ホーム画面追加・オフライン動作
- クラウド同期: Firestore で全端末リアルタイム共有
- フロント: 単一HTML(バニラJS / インラインCSS / SVGチャート)
public/index.html - ホスティング: Firebase Hosting
- データ: Cloud Firestore(
recordsコレクション +config/appドキュメント) - オフライン: Service Worker(
public/sw.js)+ Firestore オフライン永続化
ローカルプレビュー(静的サーバー):
python -m http.server 8731 --directory public
# → http://localhost:8731firebase deploy --only hosting # アプリ更新
firebase deploy --only firestore:rules # ルール更新main: 本番反映済みの安定版develop: 開発の主軸feature/*: 機能ごとの作業ブランチ →developへPR
- 1本あたりの単価、初期在庫、担当者はアプリ内「設定」から変更可(Firestoreに同期)
Copy of *.xlsx(原型データ)は個人情報を含むため Git 管理外(.gitignore)public/index.html内の Firebase apiKey は Web 向けの公開値(秘密情報ではない)- リポジトリ内の担当者名はサンプル(実在の個人名ではない)
MIT License で公開しています。