見積納品請求領収書発行システム_android
Find a file
joe 11937b60ed
Some checks failed
Flutter CI / build (push) Has been cancelled
test
2026-01-16 17:49:50 +09:00
.dart_tool test 2026-01-16 17:49:50 +09:00
.github/workflows feat: Invoiceアプリの基本機能を追加 2026-01-16 09:35:27 +09:00
path/to feat: Invoiceアプリの基本機能を追加 2026-01-16 09:35:27 +09:00
.flutter-plugins-dependencies test 2026-01-16 17:49:50 +09:00
.gitignore test 2026-01-16 17:49:50 +09:00
create_invoice_screen.dart feat: Invoiceアプリの基本機能を追加 2026-01-16 09:35:27 +09:00
customer.dart feat: Invoiceアプリの基本機能を追加 2026-01-16 09:35:27 +09:00
customer_list_screen.dart feat: Invoiceアプリの基本機能を追加 2026-01-16 09:35:27 +09:00
customer_provider.dart feat: Invoiceアプリの基本機能を追加 2026-01-16 09:35:27 +09:00
customer_test.dart feat: Invoiceアプリの基本機能を追加 2026-01-16 09:35:27 +09:00
db_helper.dart feat: Invoiceアプリの基本機能を追加 2026-01-16 09:35:27 +09:00
invoice.dart feat: Invoiceアプリの基本機能を追加 2026-01-16 09:35:27 +09:00
invoice_item.dart feat: Invoiceアプリの基本機能を追加 2026-01-16 09:35:27 +09:00
invoice_provider.dart feat: Invoiceアプリの基本機能を追加 2026-01-16 09:35:27 +09:00
invoice_test.dart feat: Invoiceアプリの基本機能を追加 2026-01-16 09:35:27 +09:00
main.dart feat: Invoiceアプリの基本機能を追加 2026-01-16 09:35:27 +09:00
ollama test 2026-01-16 17:49:50 +09:00
OLLAMA.md docs: プロジェクト計画書を追加しました 2026-01-16 06:00:47 +09:00
pdf_generator.dart feat: Invoiceアプリの基本機能を追加 2026-01-16 09:35:27 +09:00
product.dart feat: Invoiceアプリの基本機能を追加 2026-01-16 09:35:27 +09:00
product_list_screen.dart feat: Invoiceアプリの基本機能を追加 2026-01-16 09:35:27 +09:00
product_provider.dart feat: Invoiceアプリの基本機能を追加 2026-01-16 09:35:27 +09:00
product_test.dart feat: Invoiceアプリの基本機能を追加 2026-01-16 09:35:27 +09:00
pubspec.lock test 2026-01-16 17:49:50 +09:00
pubspec.yaml feat: Invoiceアプリの基本機能を追加 2026-01-16 09:35:27 +09:00
README.md README.md を更新 2026-01-16 01:01:53 +00:00

スマートフォン用 見積納品請求領収書発行システム を制作します

  • flutterを使います
  • 今は初期段階なので請求書だけを作ります
  • 今は初期段階なのでスタンドアロンですが将来的にデータをodooとOnline時に同期する予定です
  • 今はデータをローカルのsqliteで管理します
  • 顧客データはスマートフォンの住所録から取り込むか貼り付けか手入力します
  • 商品データは手入力しsqliteで管理します
  • 値引きも商品データとしてsqliteで管理します

プロジェクト計画(スマートフォン用 見積納品請求領収書発行システム)


1. 目的・概要

  • Flutterで構築するモバイルアプリ
  • 現時点では請求書(領収書)発行機能のみ
  • 将来的に Odoo とオンライン同期を実装
  • データはローカル SQLite に保存
  • 顧客情報は電話帳からインポート/手入力
  • 商品・値引き情報は手入力で SQLite に保存

2. 主要機能一覧

機能 説明 優先度
請求書作成 顧客選択 → 商品・数量入力 → 合計・税・値引き計算 → PDF/画像生成 ★★★★★
顧客管理 連絡先インポート、手入力、編集、削除 ★★★★☆
商品管理 商品名・単価・値引き設定、編集、削除 ★★★★☆
データ永続化 SQLitesqfliteで顧客・商品・請求書履歴保存 ★★★★★
PDF/画像出力 printing / pdf パッケージで請求書を生成 ★★★★☆
将来の同期 Odoo REST API 連携認証・CRUD ★★☆☆☆
UI/UX Material Design、レスポンシブ、アクセシビリティ ★★★★★

3. 技術スタック

  • フロントエンド: Flutter 3.x, Dart
  • データベース: sqflite + path_provider
  • PDF生成: pdf, printing
  • 状態管理: provider(または Riverpod
  • テスト: flutter_test, mockito
  • CI/CD: GitHub Actionsビルド・テスト

4. データモデルSQLite

テーブル カラム 備考
customers id INTEGER PRIMARY KEY AUTOINCREMENT
name TEXT
phone TEXT
address TEXT
email TEXT
products id INTEGER PRIMARY KEY AUTOINCREMENT
name TEXT
unit_price REAL
discount REAL 0〜1 の割合
invoices id INTEGER PRIMARY KEY AUTOINCREMENT
customer_id INTEGER FK
date TEXT ISO8601
total REAL
tax REAL
discount_total REAL
invoice_items id INTEGER PRIMARY KEY AUTOINCREMENT
invoice_id INTEGER FK
product_id INTEGER FK
quantity INTEGER
unit_price REAL
discount REAL

5. 画面設計(ワイヤーフレーム)

  1. ホーム
    • 「請求書作成」ボタン
    • 「顧客一覧」ボタン
    • 「商品一覧」ボタン
  2. 顧客一覧
    • 検索バー
    • 顧客カード(名前・電話)
    • 追加ボタン(連絡先インポート/手入力)
  3. 商品一覧
    • 検索バー
    • 商品カード(名前・単価・値引き)
    • 追加ボタン
  4. 請求書作成
    • 顧客選択ドロップダウン
    • 商品追加リスト(+ボタン)
    • 数量入力フィールド
    • 合計・税・値引き表示
    • 「PDF生成」ボタン
  5. 請求書プレビュー
    • PDF/画像表示
    • 共有/保存ボタン

6. 開発フロー

  1. 環境構築
    • Flutter SDK 3.x インストール
    • pubspec.yaml に必要パッケージ追加
  2. データベース設計
    • db_helper.dart でテーブル作成・CRUD実装
  3. モデルクラス
    • Customer, Product, Invoice, InvoiceItem を作成
  4. 状態管理
    • CustomerProvider, ProductProvider, InvoiceProvider を実装
  5. UI実装
    • 画面ごとに StatelessWidget / StatefulWidget を作成
    • ListView.builder でデータ表示
  6. PDF生成
    • pdf パッケージでレイアウト設計
    • printing でプレビュー・保存・共有
  7. テスト
    • 単体テストモデル・DB
    • widget テスト(画面遷移・入力)
  8. ビルド・デプロイ
    • Android/iOS 向けビルド
    • GitHub Actions で自動テスト・ビルド

7. 将来の Odoo 同期設計(ロードマップ)

  • 認証: OAuth2 / API キー
  • エンドポイント: /api/invoices, /api/customers, /api/products
  • 同期戦略:
    • プッシュ: ローカルで作成した請求書を Odoo に POST
    • プル: Odoo から顧客・商品データを取得しローカルにマージ
  • エラーハンドリング: ネットワーク失敗時はローカルにキュー保存
  • UI: 「同期」ボタン、同期ステータス表示

8. 重要ポイント & リスク

  • データ整合性: SQLite の外部キー制約を有効化
  • パフォーマンス: 大量データ時はページング実装
  • セキュリティ: データ暗号化(sqflite_sqlcipher)検討
  • ユーザー体験: 入力補完、バリデーション、エラーメッセージ

9. 次のステップ

  1. pubspec.yaml に必要パッケージを追加
  2. db_helper.dart を作成しテーブルを生成
  3. モデルクラスを実装
  4. 画面構成を決め、最小限の UI を作成
  5. PDF 生成を試作し、レイアウトを確定

以上が、現在の要件に基づくプロジェクト計画です。
次に進める際は、上記の順序でタスクを分割し、GitHub Issues で管理するとスムーズです。