自身の車の維持費や出費を管理するために開発した、個人利用メインの出費管理アプリケーションです。
- 車両維持費の管理: ガソリン代、保険料、車検、メンテナンス費用などを一元管理
- 定期出費の管理: サブスクリプションやローンなどの定期的な支払いを記録・管理
- 統計・グラフ: 月間・年間の出費額をグラフで可視化
- レスポンシブ: スマートフォンからでもPCからでも使いやすいUI/UX設計
セットアップ不要で、ブラウザからすぐに試せます。
自分の環境で動かしたい場合は、下記のローカル起動方法を参照してください。
本アプリケーションはローカル環境(Next.js + Supabase)で動作します。以下の手順でセットアップしてください。
- Node.js 18以上
- Supabase アカウント
- Docker Desktop(Supabase CLI でDB初期化に必要)
-
リポジトリのクローン
git clone https://github.com/NECOTAN/milenote.git cd milenote -
依存関係のインストール
npm install
-
Supabaseプロジェクトの作成 Supabase Dashboard で新規プロジェクトを作成し、以下を控えておきます。
- Project URL(Settings → API → Project URL)
- anon public key(Settings → API → Project API keys → anon)
- Project ID(Settings → General → Reference ID)
- Database password(プロジェクト作成時に設定したもの)
-
環境変数の設定 プロジェクトのルートに
.env.localを作成し、3.で控えた値を設定します。NEXT_PUBLIC_SUPABASE_URL=your_supabase_url NEXT_PUBLIC_SUPABASE_ANON_KEY=your_supabase_anon_key
-
データベーススキーマの初期化 Supabase CLIでマイグレーションを適用します。
# Docker Desktop を起動しておく npx supabase login npx supabase link --project-ref <your_project_id> npx supabase db push
これで
supabase/migrations/以下のSQLが順番に適用され、テーブル・関数・トリガー・RLSポリシー・Storageバケット・ポリシーが全て作成されます。 -
開発サーバーの起動
npm run dev
-
ブラウザで
http://localhost:3000にアクセスします。
supabase/migrations/ 配下のSQLファイルでスキーマを管理しています。スキーマを変更したい場合は新しいマイグレーションファイルを追加してください。
migrationの追加・適用・ドリフト対処などの詳しい運用手順は manuals/supabase_migrations.md を参照してください。
このプロジェクトは以下の優れた技術およびオープンソースライブラリを使用して構築されています。
- Framework: Next.js (App Router) / React
- Styling: Tailwind CSS (v4)
- Database & Auth: Supabase
- UI Components: shadcn/ui
- Charts: Recharts
- Icons: Lucide React (Licensed under ISC)
- Hosting: Vercel
1. データの取り扱いとプライバシー 本アプリケーションは、入力された出費データや車両情報をデータベース(Supabase)に保存します。個人利用を想定して開発されているため、第三者へのデータの提供や外部サーバーへの意図しないデータ送信を行うことはありません。データの管理およびデータベースのセキュリティ設定(RLS等)は、ユーザーご自身の責任において適切に行ってください。
2. データの損失について 本ソフトウェアは個人開発による成果物です。予期せぬ不具合、データベースの障害、または誤操作等により、保存された出費データや記録が消失する可能性があります。重要なデータについては、ご自身で定期的にバックアップを取得することを強く推奨します。
3. 動作の保証範囲 本アプリケーションは、最新のモダンブラウザ(Chrome, Safari, Edge等)での動作を想定していますが、すべてのデバイスやOS環境での完全な動作を保証するものではありません。
4. 免責と責任の制限 本ソフトウェアは「現状有姿(As-Is)」で提供されます。本アプリケーションの導入、利用、またはデータの消失等により生じたいかなる損害(金銭的損失、精神的苦痛などを含む)についても、開発者は一切の責任を負いません。ご自身の責任においてご利用ください。
5. 外部環境の変化 使用している技術スタック(Next.js, Supabase, Vercel等)のアップデートや仕様変更により、予告なく一部機能が利用できなくなる、あるいは修正が必要になる可能性があります。開発者はこれらに対する恒久的なメンテナンスやアップデートの義務を負いません。
6. ライセンス 本プロジェクトのソースコードは MIT License の下で公開されています。商用・非商用を問わず、ライセンス条項の範囲内で自由にご利用いただけます。