メーカーやインディーハッカー向けに設計されたオープンソースの軽量Trello代替。
シンプルさ、高速性、スケーラビリティを重視。 モダンなスタックで構築:Tailwind CSS、shadcn/ui、Supabase、Stripe連携。 無制限のプロジェクト、チームコラボレーション、ダーク/ライトモード、シームレスなユーザー体験をサポート。 不要な複雑さなく、フルコントロールを求める個人開発者や小規模チームに最適。
🌟 このプロジェクトが役に立った場合はスターを付けてください!他の人にも発見してもらいやすくなります。
デプロイガイド
概要
本アプリケーションは、Stripe連携にSupabase Edge Functionsではなく、ローカルのNext.js APIルートを使用するようになりました。これによりデプロイが簡単になり、標準的な.envファイルで設定できるようになりました。環境変数の設定
1. .env.localファイルを作成
.env.example を .env.local にコピーし、実際の値を入力してください:cp .env.example .env.local
2. 必要な環境変数
#### Supabase の設定
NEXT_PUBLIC_SUPABASE_URL- あなたの Supabase プロジェクトの URLNEXT_PUBLIC_SUPABASE_ANON_KEY- あなたの Supabase 匿名キーSUPABASE_SERVICE_ROLE_KEY- あなたの Supabase サービスロールキー(サーバー側のみ)
STRIPE_SECRET_KEY- あなたの Stripe シークレットキー(サーバー側のみ)NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY- あなたの Stripe 公開可能キーSTRIPE_WEBHOOK_SECRET- あなたの Stripe webhook シークレット
NEXT_PUBLIC_SITE_URL- あなたのサイト URL(本番用)NEXTAUTH_URL- あなたのサイト URL(上記と同じ)NEXTAUTH_SECRET- NextAuth 用のランダムなシークレット
ローカル開発
- 依存関係をインストールします:
npm install
.env.localに環境変数を設定します- 開発サーバーを起動します:
npm run dev
- Stripe CLI を使用してローカルで Stripe ウェブフックをテストする:
stripe listen --forward-to localhost:3000/api/stripe/webhook
本番環境へのデプロイ
Vercelへのデプロイ
- Vercelにデプロイする:
npx vercel
- 環境変数:
- Stripe Webhook設定:
- WebhookのURLを次に設定:
https://your-domain.vercel.app/api/stripe/webhook
APIエンドポイント
アプリケーションは現在、以下のローカルAPIルートを使用しています:
POST /api/stripe/checkout- Stripeのチェックアウトセッションを作成POST /api/stripe/webhook- StripeのWebhookイベントを処理
ローカルAPIルートの利点
- 展開が簡単 - 個別のエッジ関数を展開する必要がありません
- 環境変数 - 標準の.envファイルをサポート
- デバッグが容易 - ローカルでのデバッグが簡単
- フレームワーク統合 - Next.jsとの統合が向上
- ベンダーロックインなし - Next.jsをサポートする任意のプラットフォームに展開可能
トラブルシューティング
- Webhookの問題:
STRIPE_WEBHOOK_SECRETがStripeのWebhookエンドポイントと一致していることを確認- StripeダッシュボードでWebhookログを確認
- WebhookのURLが正しいか検証
- 環境変数:
- 必要な変数がすべて設定されていることを確認
- 変数名のタイプミスをチェック
- Supabaseサービスロールキーに適切な権限があるか確認
- CORSの問題:
- APIルートには適切なCORSヘッダーが含まれている
- 必要に応じてドメインがホワイトリストに登録されていることを確認
セキュリティノート
STRIPE_SECRET_KEYやSUPABASE_SERVICE_ROLE_KEYをクライアントに絶対に公開しないこと- クライアント側変数には
NEXT_PUBLIC_プレフィックスのみを使用 - Webhookのシークレットは定期的にローテーションすること
- StripeダッシュボードでWebhookの配信状況を監視すること