尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證正在載入完整 README。 以下為已儲存的摘錄。
三井住友カード(Vpass)の利用通知メール(Gmail経由)を自動取得し、カテゴリ分け・グラフ表示・月次集計を行う個人用家計簿Webアプリ。 • 取り込み: GitHub Actions (cron) が1時間毎にGmailからVpass通知メールを取得し、解析・分類してSupabaseに保存 • 表示: Next.js製フロントエンドがSupabaseから読み取り専用で取得し、グラフ・一覧を表示(Vercelでホスティング) • 無料運用: GitHub Actions + Supabase + Vercelの無料枠のみで完結 初回セットアップの手順は docs/SETUP.md を参照してください。 • 書き込みができるのはGitHub Actionsの取り込みジョブのみ(Supabase service role key使用) • フロントエンドはSupabaseのanonキー(読み取り専用、Row Level Securityで制御)を使う • transactions.gmail_message_id の一意制約により、取り込みジョブは何度再実行しても安全(冪等) .env.local には最低限 NEXT_PUBLIC_SUPABASE_URL と NEXT_PUBLIC_SUPABASE_ANON_KEY が必要です(docs/SETUP.md 参照)。檢視完整 README ↗
三井住友カード(Vpass)の利用通知メール(Gmail経由)を自動取得し、カテゴリ分け・グラフ表示・月次集計を行う個人用家計簿Webアプリ。
初回セットアップの手順は docs/SETUP.md を参照してください。
Gmail ([email protected]) → GitHub Actions (cron) → Supabase (Postgres) → Next.js (Vercel)
transactions.gmail_message_id の一意制約により、取り込みジョブは何度再実行しても安全(冪等)npm install
cp .env.example .env.local # Supabaseの値を入力
npm run dev
.env.local には最低限 NEXT_PUBLIC_SUPABASE_URL と NEXT_PUBLIC_SUPABASE_ANON_KEY が必要です(docs/SETUP.md 参照)。
GMAIL_CLIENT_ID=xxx \
GMAIL_CLIENT_SECRET=yyy \
GMAIL_REFRESH_TOKEN=zzz \
SUPABASE_URL=https://xxxx.supabase.co \
SUPABASE_SERVICE_ROLE_KEY=xxxx \
npm run ingest
実行するとGmailから直近2日分のVpass通知メールを検索し、新規分だけをSupabaseに登録します。既存のメールはgmail_message_idで重複排除されるため、何度実行しても安全です。
Gmail検索の対象期間(直近2日分)より前の古いVpass通知メールをまとめて取り込みたい場合:
.emlをまとめられる)SELF_FORWARD_SENDER を追加し、転送元のメールアドレスを設定する.emlも自動的に解析・登録される添付メール1件ごとに元のメールのMessage-IDで重複判定するため、同じ転送メールを何度処理しても二重登録されません。
ingest/parsers/types.ts の EmailParser インターフェースを実装した新しいファイルを ingest/parsers/ に追加する(例: rakuten.ts)。参考: ingest/parsers/smbc-vpass.tsingest/parsers/index.ts の parsers 配列に追加したパーサーを1行足すsupabase/schema.sql の cards テーブルに新しいカードの行を追加する(任意)これだけで、Gmail検索クエリ(buildSearchQuery)・解析・分類の全パイプラインが自動的に新しいカードにも対応します。
app/ — Next.js App Router のページ(ダッシュボード・取引一覧)components/ — チャート・UIコンポーネントingest/ — Gmail取り込みスクリプト(GitHub Actionsから実行)lib/ — Supabaseクライアント・型定義・データ取得関数scripts/mint-gmail-refresh-token.ts — 初回のみローカルで実行するGmail認可スクリプトsupabase/schema.sql — SupabaseのSQL Editorに貼り付けるスキーマ定義budgets テーブルと monthly_category_totals ビューを使った予算対比UI