No updates detected yet. GitHub releases will appear here.
マリーンズを応援する毎日を、記録し、つなぎ、未来へ積み立てる。ロッテ貯金と割り勘を統合した個人利用アプリ
Loading the full README. The saved excerpt is shown below.
マリーンズを応援する毎日を、記録し、つなぎ、未来へ積み立てる。 千葉ロッテマリーンズの観戦体験を軸に、ロッテ貯金と割り勘を1つのアプリへ統合した個人利用アプリです。 仕様は docs/marine-wallet-spec-v0.1.md、統合方針は docs/integration-plan.md を参照してください。 • 完全個人利用 / 非商用 • Marine Wallet 自身は資金を保有・移動しません(外部アプリへの誘導のみ) 旧アプリのリポジトリ・Vercelプロジェクト・Supabaseプロジェクトはいずれも削除または PAUSED 済みです。データは移行済みで、旧ロッテ貯金の試合116件(合計 54,600円)と 旧割り勘の92件はすべて本アプリのDBにあります。 • Next.js 16(App Router / Turbopack / proxy.ts) • React 19 • Tailwind CSS v4 • Supabase(Auth / PostgreSQL / RLS) • Vercel チャートは外部ライブラリを使わず SVG で自前描画しています(components/charts/CumulativeChart.tsx)。Read the full README ↗
マリーンズを応援する毎日を、記録し、つなぎ、未来へ積み立てる。
千葉ロッテマリーンズの観戦体験を軸に、ロッテ貯金と割り勘を1つのアプリへ統合した個人利用アプリです。 仕様は docs/marine-wallet-spec-v0.1.md、統合方針は docs/integration-plan.md を参照してください。
| リポジトリ | minatani-01/marine-wallet(旧 baseball-savings を改称) |
| 公開URL | https://marine-wallet.vercel.app |
| Vercelプロジェクト名 | marine-wallet |
| Supabase | Marine Wallet(ref xliszlnpypvqghrwplxa) |
| 旧アプリ | 旧スタック | 統合後 |
|---|---|---|
| ロッテ貯金(baseball-savings) | Vite + React + Supabase | 貯金タブ |
| 割り勘アプリ(warikan-app) | Next.js + Supabase | 割り勘タブ |
旧アプリのリポジトリ・Vercelプロジェクト・Supabaseプロジェクトはいずれも削除または PAUSED 済みです。データは移行済みで、旧ロッテ貯金の試合116件(合計 54,600円)と 旧割り勘の92件はすべて本アプリのDBにあります。
proxy.ts)チャートは外部ライブラリを使わず SVG で自前描画しています(components/charts/CumulativeChart.tsx)。
npm install
cp .env.example .env.local # Supabase の URL とキーを設定する
npm run dev
.env.local:
NEXT_PUBLIC_SUPABASE_URL=https://<project-ref>.supabase.co
NEXT_PUBLIC_SUPABASE_ANON_KEY=<publishable key>
Supabase の SQL Editor で番号順に実行します(何度実行しても安全な冪等スクリプトです)。 本番プロジェクトへは適用済みで、新しく環境を作るときだけ必要になります。
| ファイル | 内容 |
|---|---|
0001_marine_wallet_core.sql | 共通スキーマ(profiles / saving_rules / games / saving_entries / monthly_savings)とRLS。saving_rules は 0017 で saving_rule_settings に置き換え |
0002_import_legacy_games.sql | 旧ロッテ貯金アプリからのデータ移行(実施済みの記録。再実行用のクエリを含む) |
0003_confirmed_ui.sql | 確定UIに合わせたボーナス項目とカスタム貯金の追加 |
0004_home_away_nullable.sql | 旧アプリが未記録だったホーム/ビジターを null 許容にする |
0005_marine_link.sql | Marine Link(marine_links / link_permissions / 判定関数 / RPC / 共有用ポリシー) |
0006_shared_goals.sql | 共同貯金(shared_goals / shared_goal_members / 進捗RPC) |
0007_split_member_marine_id.sql | メンバーの Marine ID と、参加者単位の割り勘共有 |
0008_member_participation.sql | メンバーの参加機能(割り勘 / 貯金)と、貯金の参加者別集計RPC |
0009_drop_deposit_pending.sql | 月末フローから「入金手続き中」を外す |
0010_member_avatar.sql | メンバーの写真アイコン(member-avatars バケットと、自分のフォルダだけ読み書きできるRLS) |
0011_profile_avatar.sql | 自分のプロフィールアイコン(profiles.avatar_path) |
0012_annual_goal.sql | 目標金額を月間から年間へ(monthly_goal_amount → annual_goal_amount)。0020 で廃止 |
0013_master_auto_accept.sql | マスター権限(profiles.is_master)。マスターからの接続リクエストは承認なしで接続する |
0014_confirm_month_for_circle.sql | 月末の確定を、貯金に参加している接続済みメンバーにも反映する |
0015_totals_by_deposited.sql | 累計貯金額の基準を「確定した月」から「入金した月」へ |
0016_circle_by_link.sql | 総累計貯金額を、メンバー登録ではなく Marine Link の接続で決める |
0017_shared_saving_rules.sql | 貯金ルールを全アカウント共通の1行にし、共有設定の「貯金ルール」を変更権限に変える |
0018_auto_saving_entries.sql | つみたての自動生成(試合の登録時と接続の成立時)。確定の対象も接続で決める |
master への push で Vercel が Production を自動デプロイします。環境変数は
NEXT_PUBLIC_SUPABASE_URL と NEXT_PUBLIC_SUPABASE_ANON_KEY の2つだけです。
NEXT_PUBLIC_* はビルド時にバンドルへ埋め込まれるため、環境変数を変更したときは
ビルドキャッシュを使わずに再デプロイしてください。変更していないときはキャッシュを
使って構いません。
ビルド設定は vercel.json(framework: nextjs)でリポジトリ側に固定しています。
旧 Vite 構成のプロジェクト設定が残っていてもこちらが優先されます。
ホーム 更新ボタン / 累計貯金・前月比 / 今月のつみたて額・継続日数
/ 未精算の立替・今季の勝率 / 貯金推移(月別・年別)
貯金 試合登録・カスタム貯金 / 月間集計 / 月末確定・ワンバンク入金
/ 未登録の試合 / 記録 / 貯金ルール
割り勘 精算額と支払い状況 / メンバーごとの支払額(受取はマイナス)/ 精算(PayPay誘導)/ 未精算・すべて・完了
履歴 取引履歴(貯金と割り勘をまとめた時系列)
マイページ Marine ID / アイコン・表示名・ログアウト / お知らせ / メンバー(マスターのみ)
└ 賃貸さがし 指定した駅すべてから徒歩◯分の範囲にある建物(マスターのみ)
空室では探さない。詳細は docs/rent-search.md
└ メンバー 一緒に使う人を1画面で管理
あなたの Marine ID / 届いているリクエスト / メンバー一覧
(写真アイコン・Marine ID・接続・共有設定・割り勘と貯金の指定)
/ メンバー未登録の接続 / 共同貯金 / 月間比較
仕様書 40章のフェーズ区分に対応します。
| フェーズ | 状態 |
|---|---|
| Phase 1 統合基盤 | 実装済み |
| Phase 2 ロッテ貯金自動化 | 手動登録のみ実装。NPBからの自動取得は未着手 |
| Phase 3 外部アプリ連携 | 金額コピーと起動URLは実装済み。入金ステータスは月末フローに内包 |
| Phase 4 Marine Link | 実装済み(Marine ID / リクエスト / 権限管理 / データ共有 / 月間比較 / 共同貯金) |
| Phase 5 Marine Day | 未着手 |
| Phase 6 Insight | 履歴・推移は実装済み。Season Report / Fan Score / 通知は未着手 |
確定アイコンの置き場所は public/brand/README.md を参照。
public/brand/mark.png が無い場合はワードマークのみを表示するため、画面は崩れない。
This is the beginning of the README. Read the rest at the original. Read the full README ↗
0019_sync_monthly_status_on_link.sql | マスターが確定済みの月を、接続しているアカウントにも反映する |
0020_drop_annual_goal.sql | 年間の目標金額をやめる |