インストール & セットアップ ガイド
必要条件
- Node.js LTS と選択したパッケージ マネージャー (pnpm が推奨)
- PostgreSQL 15+ と Redis 7+ ローカル環境、または Docker Compose を使用
- リポジトリを分離:
frontend(Next.js) とbackend(NestJS + Prisma)
Backend NestJS
cd backend
pnpm install
cp .env.example .env
pnpm prisma generate
pnpm prisma migrate dev
pnpm start:dev
.env ファイルの最小限の設定:
NODE_ENV=development
PORT=3001
DATABASE_URL=postgresql://postgres:postgres@localhost:5432/membership_hub
REDIS_URL=redis://localhost:6379
APP_URL=http://localhost:3001
FRONTEND_URL=http://localhost:3000
開発プロセスでワーカーを実行しない場合は、別のターミナルで次のコマンドを実行します。
pnpm start:worker
API は http://localhost:3001 で、Swagger は http://localhost:3001/api/docs で利用できます。
Frontend Next.js
cd project/frontend
pnpm install
cp .env.example .env.local
pnpm dev
NEXT_PUBLIC_API_URL=http://localhost:3001 を使用します。環境変数にデータベース、Redis、支払いシークレット、または JWT 秘密鍵を含めないようにしてください。
データベースとキュー
pnpm prisma migrate dev --name <description>を使用して新しいマイグレーションを作成します。- Prisma のマイグレーション ファイルとスキーマの変更を一緒にコミットします。
pnpm prisma studioを開発環境で使用します。- Redis の検証を実行し、メール、スケジューラ、またはワーカーをテストする前に、ワーカーが接続され、ジョブが失敗していないことを確認します。
マージ前に実行するチェック
- バックエンドの lint、ユニット テスト、統合 テスト、ビルドを実行します。
- 空のデータベースとデータベース アップグレード コピーでマイグレーションを実行し、互換性を確認します。
- Midtrans/Xendit のサンドボックスをテストし、サインャーが無効である場合や Webhook のリトライをテストします。
- Redis が有効で、ジョブ メール/ライフサイクルをテストし、リトライをシミュレートします。