povo 2.0のプロモコードを管理するWindows 11向けデスクトップアプリケーションです。
povo 2.0では「データ使い放題」などのトッピングをプロモコードで取得できます。複数のコードを管理し、入力期限・有効期限を追跡することで、回線が途切れることなくサービスを継続利用できます。
このアプリは以下の課題を解決します:
- 複数のプロモコードの一元管理
- コード入力期限の見落とし防止
- 使用中コードの有効期限切れの事前通知
- 連続カバレッジ(回線が途切れない期間)の可視化
- 連続カバレッジ表示: 現在の回線有効期間と残り時間をリアルタイム表示
- ギャップ警告: カバレッジが途切れる可能性がある場合に警告を表示
- 次に開始すべきコード: 未使用コードから最適な候補を提案
- 使用中コード一覧: アクティブなコードの状態を一覧表示
- 統計情報: 全コード数、使用中、未使用、完了・期限切れの集計
- 全てのプロモコードを一覧表示
- ステータス別のフィルタリング(未使用/使用中/有効期限切れ/入力期限切れ)
- コードの詳細情報(入力期限、有効期限、有効期間)の確認
- メール本文からの自動抽出: povoから届くメールの本文を貼り付けるだけで、コード・入力期限・有効期間を自動抽出
- 手入力: 自動抽出できない場合は手動でコードを追加可能
- 一括登録: 複数コードをまとめて登録
- 並べ替え: ドラッグ&ドロップでコードの使用順序を調整
- 登録済みコードの編集・削除
- ステータスの手動変更(使用開始/使用中断など)
- コード順序の変更
- 利用終了通知: 使用中コードの有効期限が近づくと通知(既定: 24時間前、3時間前、1時間前、30分前)
- 公式入力期限通知: 未使用コードの入力期限が近づくと通知(任意設定)
- カスタム閾値: 通知タイミングを自由にカスタマイズ
- テスト通知: 通知機能の動作確認
- データエクスポート/インポート: JSON形式でのバックアップと復元
- Releases から最新のインストーラー(
povo-promo-code-notify-*-setup.exe)をダウンロード - インストーラーを実行してアプリをインストール
- アプリを起動
- povoからプロモコードが届いたメールを開く
- メール本文をコピー(Ctrl+A → Ctrl+C)
- アプリの「登録」タブを開く
- テキストエリアに貼り付け(Ctrl+V)
- 「抽出」ボタンをクリック
- 抽出結果を確認し、必要に応じて編集
- 「登録」ボタンをクリック
- アプリを起動しておく(タスクトレイに常駐)
- ダッシュボードで連続カバレッジを確認
- 通知が届いたら、次のコードを povo アプリで入力
- 「編集」タブで使用開始したコードのステータスを更新
- 「通知」タブを開く
- 利用終了通知の閾値を有効/無効に切り替え
- 必要に応じてカスタム閾値を追加
- 「設定を保存」をクリック
- 「通知」タブを開く
- 「エクスポート」をクリック
- 保存先を選択してJSONファイルを保存
- 「通知」タブを開く
- 「インポート」をクリック
- バックアップしたJSONファイルを選択
- 確認ダイアログで「インポート実行」をクリック
- Electron - デスクトップアプリフレームワーク
- React - UIライブラリ
- TypeScript - 型安全な開発
- TailwindCSS - スタイリング
- Vite / electron-vite - ビルドツール
- Zod - バリデーション
- Vitest - テストフレームワーク
- Playwright - E2Eテスト
- Node.js 22以上(LTS)
- pnpm 10以上(Corepackで有効化)
# Corepack有効化
corepack enable
# 依存パッケージのインストール
pnpm install
# 開発サーバー起動
pnpm dev# 開発サーバー起動(HMR有効)
pnpm dev
# リンター実行
pnpm lint
# リンター自動修正
pnpm lint:fix
# 型チェック
pnpm type-check
# フォーマット
pnpm format
# テスト実行
pnpm test
# テスト(監視モード)
pnpm test:watch
# カバレッジ付きテスト
pnpm test:coverage
# E2Eテスト
pnpm test:e2e
# プロダクションビルド
pnpm build
# Windowsインストーラー作成
pnpm build:win現在は必須の環境変数はありません。必要になった場合は .env.example を用意し、dotenv-safe で検証します。
src/
├── main/ # Electronメインプロセス
│ ├── services/ # ビジネスロジック
│ │ ├── code-status.ts # コードステータス計算
│ │ ├── coverage.ts # カバレッジ計算
│ │ ├── email-parser.ts # メール本文解析
│ │ ├── next-candidate.ts # 次候補コード選定
│ │ ├── notification-scheduler.ts # 通知スケジュール
│ │ └── store.ts # データ永続化
│ ├── ipc-handlers.ts # IPC通信ハンドラ
│ ├── observability.ts # ログ・エラー収集
│ └── index.ts # エントリポイント
├── preload/ # preloadスクリプト
├── renderer/ # Reactアプリ(レンダラープロセス)
│ └── src/
│ ├── components/ # UIコンポーネント
│ │ ├── ui/ # 汎用UIパーツ
│ │ ├── OverviewTab.tsx # ダッシュボード
│ │ ├── CodesListTab.tsx # コード一覧
│ │ ├── RegisterTab.tsx # 登録
│ │ ├── EditTab.tsx # 編集
│ │ └── NotificationTab.tsx # 通知設定
│ └── hooks/ # カスタムフック
└── types/ # 型定義(一元管理)
├── code.ts # ドメイン型
├── ipc.ts # IPC通信型
└── schemas.ts # Zodスキーマ
package.jsonのバージョンを更新docs/RELEASE_NOTES.mdにリリースノートを追記- 変更をコミット・プッシュ
- タグを作成してプッシュ:
git tag v1.x.x && git push origin v1.x.x - GitHub Actions がインストーラーをビルドし、Releaseを自動作成
- Windows向けの配布物は
pnpm build:winで作成します - 生成物は
release/(electron-builderの出力先)に配置されます - GitHub Releasesから最新版をダウンロードできます
%APPDATA%\povo-promo-code-notify\logs\app.logを確認- 依存関係の問題がある場合は再インストール:
pnpm install pnpm build
- アプリが起動していることを確認
- Windowsの通知設定で「povo プロモコード管理」が許可されているか確認
- 「通知」タブでテスト通知を送信して動作確認
- 自動バックアップは
%APPDATA%\povo-promo-code-notify\backups\に保存されています - インポート機能で復元可能
- メール本文全体(ヘッダーを含む)をコピーしてみる
- 手入力フォームから追加する
- 英数字10〜20文字のコードパターンのみ抽出対象です
Q: アプリを閉じても通知は届きますか? A: デフォルトでは閉じるボタンを押すとタスクトレイに常駐し、通知をお届けします。また、トレイアイコンをダブルクリックするとウィンドウを表示します。
Q: コードの「入力期限」と「有効期限」の違いは? A: 「入力期限」はpovoアプリにコードを入力できる期限、「有効期限」は入力後に通信サービスが有効な期限です。
Q: 複数のPCで使えますか? A: エクスポート/インポート機能でデータを移行できます。ただし自動同期はサポートしていません。
Q: データはどこに保存されますか?
A: %APPDATA%\povo-promo-code-notify\ フォルダに保存されます。
MIT License