Next.js 内に Hono や Supabase Auth、Prisma を組み込んだフルスタックテンプレートです。 このテンプレートは、エッジランタイム専用のアプリケーションを構築するためのものです。
- フロントエンド & バックエンド: Next.js(Hono & Supabase Auth 統合)
- データベース: Supabase(Prisma Accelerate 経由で接続)
- ORM: Prisma
- 認証: Supabase Auth
- スタイリング: CSS Modules
- UIライブラリ: Mantine UI
- ホスティング:
- Next.js → Vercel
- コード品質管理: ESLint & stylelint
- エッジランタイム対応: Prisma Accelerate
- Node.js 18+
- npm
-
リポジトリをクローン:
git clone https://github.com/Sho0226/next-hono-template.git cd next-hono-template -
依存関係をインストール:
npm install
-
環境変数を設定:
cp .env.example .env
.envファイルに必要な環境変数を入力。 -
Prisma Accelerate をセットアップ:
npx prisma migrate dev
-
ローカル開発サーバーを起動:
npm run dev
- Supabase にアクセスしてサインアップ。
- 新しいプロジェクトを作成。
- プロジェクト設定 → API に移動。
- プロジェクト URL、anon public API キー をコピー。
.envファイルに以下を追加:SUPABASE_URL=your_project_url SUPABASE_ANON_KEY=your_anon_key
Prisma Accelerate を使用する場合、専用の接続文字列が必要です。
この接続文字列は、通常prisma://accelerate.prisma-data.net/?api_key=YOUR_API_KEYの形式です。
-
Prisma Data Platform にサインアップ:
- Prisma の Cloud Platform にアクセスし、GitHub などでサインアップします。
-
新しいクラウドプロジェクトを作成:
- ダッシュボードで「新しいクラウドプロジェクト」を作成します。
-
Accelerate を有効化:
- プロジェクト内で Accelerate を有効化します。これには、データベース接続文字列と近いロケーションの選択が必要です。
-
API キーを生成:
- Accelerate を有効化後、API キーを生成します。この API キーは、接続文字列の一部として使用されます。
-
接続文字列の生成:
- API キーを含む新しい接続文字列が生成されます。この文字列は、通常
prisma://accelerate.prisma-data.net/?api_key=YOUR_API_KEYの形式です。
- API キーを含む新しい接続文字列が生成されます。この文字列は、通常
-
環境変数に設定:
- 生成された接続文字列を
.envファイルのDATABASE_URLとして設定します。
- 生成された接続文字列を
# .env
DATABASE_URL="prisma://accelerate.prisma-data.net/?api_key=YOUR_API_KEY"この接続文字列は、Prisma Accelerate を通じてデータベースにアクセスするために使用されます。通常の PostgreSQL 接続文字列とは異なり、API キーを含んでいます。
Supabase を使用する場合、通常の PostgreSQL 接続文字列を使用してデータベースに直接アクセスする必要があります。Prisma Accelerate の接続文字列は、Supabase の管理画面で直接使用できません。
- リポジトリを GitHub にプッシュ。
- Vercel にリポジトリをインポート。
- Vercel の環境変数設定で
.envの内容を追加。 - deploy
このテンプレートを使用することで、Next.js と Hono、Supabase Auth、Prisma を組み合わせたエッジランタイム専用のフルスタックアプリケーションを簡単に構築できます。また、Prisma Accelerate を使用することで、エッジ環境でのデータベースアクセスも可能になります。