月謝袋の見直し3

記の2つのみをアプリ内課金とすることに決めました。
(月謝袋の基本的な機能は全て無料で使えるようにする)
・オリジナルスタンプ
・年毎のCSVダウンロード

無料機能:

✅ デフォルトスタンプ(PAID/NOT PAID)
✅ 月謝管理
✅ レッスン日管理
✅ 基本的な表示機能

目次

CSVのダウンロード

機能:CSVダウンロード

年を選択してダウンロード
Excelで開ける
会計ソフトへのインポート用

年,月,生徒名,支払い状態,金額,受取日,メモ
2025,1,山田太郎,支払い済み,5000,2025-01-15,テキスト代込み
2025,2,山田太郎,支払い済み,5000,2025-02-10,
2025,3,山田太郎,未払い,,,
2025,1,佐藤花子,支払い済み,3000,2025-01-20,

✅ CSVダウンロードタブのUIを作成

年選択ドロップダウン
データ件数プレビュー
ダウンロードボタン
使い方説明

✅ create_post_widgetにタブを追加

タブ1: 月謝スタンプ
タブ2: レッスン日管理

このあと、flutter flowからの移行だったので、通常のコードが使えず、とんでもない時間が過ぎていく。
(とても書けないので省略)
結論、flutter flowで作ってからflutterへの流れは、かなり大変!

ダウンロードされるファイル:

ファイル名: monthly_fee_2025.csv
選択した年の1月〜12月の全データ
全生徒分のデータ

オリジナルスタンプ機能の実装
機能:

  • 先生が自分のスタンプ画像をアップロードして使用できる
  • プレビュー表示
  • デフォルトに戻す機能
  • リアルタイム反映

変更可能な画像:
PAID スタンプ – 支払い済み用

UI配置:
タブ3のCSVダウンロードの下に配置

このあと、Firebaseのパーミションエラー、image_pickerのバージョンなどいろいろありました・・
(もう長すぎて省略)

下記のようになりました。

先生側
生徒側

アプリ内課金の実装

  • 商品の設定
  • Flutterコードの実装
  • テスト
  • セキュリティールールの本番化

流れ

  • パッケージの追加
  • Firestore設定
    is_premium: false
  • 購入状態の管理(プレミアム会員情報)
  • コード実装
  • 購入画面の作成(プレミアム機能の説明、価格表示、購入ボタン)
    機能のロック/アンロック
    購入処理の実装(テスト用に、ボタンを押すと is_premium: true に変更)
    購入復元機能
  • ストア設定
先生側
生徒側
目次