h-1.flutter.0/README.md
2026-03-01 16:47:34 +09:00

4.8 KiB
Raw Blame History

販売アシスト1号 / 母艦「お局様」プロジェクト概要

販売アシスト1号は オフライン単体で見積・納品・請求・レジ業務まで完結できる販売アシスタント であり、オプション機能として オンライン接続時に母艦「お局様」とデータ同期・バックアップ・監視を行う二層構造 を目指しています。


コアコンセプト

モード 目的 主な特徴
オフライン・スタンドアロン 端末単体で全業務を完結 SQLite に全データ保存、印影以外は非暗号化、AI などによる再利用も想定
オンライン(システムオプション) 母艦と接続しデータ交換・監視 SSH/クラウドトンネル経由で同期、APK寿命チェックやバックアップを遠隔制御

母艦「お局様」はブリッジモニタリングバックアップに専念し、実務機能は販売アシスト1号側に集約する方針です。TV BOX を母艦に据える運用や、単一端末で両役割を兼務するシナリオも想定しています。


現状の実装状況

  • Flutter ベースの販売アシスト1号アプリ
    • 会社・担当者・銀行口座を統合管理する事業プロフィール画面
    • Phone ブック取り込みを共通化した ContactPickerSheet
    • 税率・税表示・印影の追加設定
    • 90 日寿命チェック(BuildExpiryInfo)と期限切れ画面
  • ビルド用スクリプト scripts/build_with_expiry.sh
    • --dart-define=APP_BUILD_TIMESTAMP を自動付与し APK を生成
    • analyze 実行APK ビルドのワンステップ化
  • 連絡帳・顧客モジュールの共通化BusinessProfileScreen / CustomerPickerModal / CustomerMasterScreen

将来像・ロードマップ

  1. 母艦お局様Web UI 100%
    • 各クライアントのハッシュチェーン監視
    • SSH/Cloudflare/自社 DDNS いずれにも対応するブリッジ機能
    • Google Drive への自動バックアップ、容量推定
  2. 販売アシスト1号の拡張モジュール化
    • 売上POS、仕入、在庫、チャット、通知をモジュールとして追加
    • ダッシュボードにモジュールカードを組み込む方式へ刷新
  3. チャット&サポート
    • 「順次対応である」旨を明記した問い合わせチャットをローカル実装
    • 母艦側で受信・返信・履歴管理ができる仕組みを構築
  4. 寿命延命と母艦同期
    • 母艦と定期同期できた端末は自動で寿命を延長(例: 半年)

リポジトリ構成(抜粋)

/home/user/dev/h-1.flutter.0
├── README.md                   … 本ファイル
├── analysis_options.yaml       … Lint 設定
├── lib/                        … Flutter アプリ本体
│   ├── screens/                … 各種画面business_profile_screen 等)
│   ├── widgets/                … 共通ウィジェットcontact_picker_sheet 等)
│   ├── services/               … 永続化・ユーティリティcompany_profile_service 等)
│   └── utils/build_expiry_info.dart … ビルド寿命ユーティリティ
├── scripts/build_with_expiry.sh … dart-define 付きビルドスクリプト
├── android/, ios/, macos/, windows/, linux/ … 各プラットフォームテンプレート
├── assets/                     … 画像・リソース
├── test/                       … テストコード
└── 目標.md / 目的.md           … 設計メモ

※ フルツリーが必要になった場合は treelist_dir の出力を README 末尾に追加して更新していきます。


セットアップ & ビルド

  1. Flutter 3.x 環境を用意し、依存パッケージを取得
    flutter pub get
    
  2. 90 日寿命 APK の生成
    chmod +x scripts/build_with_expiry.sh
    ./scripts/build_with_expiry.sh [debug|profile|release]
    
    • スクリプト内で APP_BUILD_TIMESTAMP を UTC で自動付与
    • flutter analyzeflutter build apk を連続実行
  3. 実機/エミュレータで起動すると、寿命切れ時には ExpiredApp が自動表示されます。

更新ポリシー

  • README は 機能追加・アーキテクチャ変更・モジュール構成の見直し時に必ず更新 します。
  • 変更履歴とファイルツリーは必要に応じて追記し、最新状態を反映させます。
  • 設計検討中の内容(母艦 Web UI、チャット、モジュール化などは本 README の「将来像」節で随時アップデートします。

ご要望・アイデアがあれば Issue/チャットで共有いただき、README に反映していきます。