Nest.js + Prisma + Passport(local + JWT + RefreshToken) のテンプレート
MIT
- nest https://nestjs.com/
- prisma https://www.prisma.io/
docker-compose up
cd app && npm install
npm run start:dev
- ユーザ
- 新規登録API
- 管理者用全ユーザ取得API
- 認証
- ID/PWのログインとJWT、リフレッシュトークンの発行
- JWTでの認証
- リフレッシュトークンまわり(リフレッシュAPI)
./db/init/01-initdb.sql
- DBのイニシャライズ用、基本触らない./app/prisma/schema.prisma
- DB定義./seed/seed.ts
- シーダー./app/src/modules/prisma/repository/*.ts
- リポジトリ、テーブルを増やしたら増やすこと
./app/src/modules/admin/
- 管理画面用API./app/src/modules/auth/
- 認証系API./app/src/modules/web/
- ユーザ用API(空)
- http://localhost:8081 で phpMyAdmin (db 操作ツール)が動作
- まず、
./seed
でnpm install
すること - seed 投入
npx prisma migrate reset -f && cd ../seed && ts-node ./seed.ts
- DB 初期化
npx prisma migrate reset -f
- prisma の定義を変更したら
npx prisma migrate reset -f && npx prisma generate dev && npx prisma migrate dev && cd ../seed && ts-node ./seed.ts
で再生成
直したけどよい方法がない問題、対応策募集中
- prisma のスキーマを複数ファイルに分割したい
- prisma-merge, prismix などで単純に結合はできる
- 補完が効かなくなる
- prisma/prisma#2377 プロジェクト作成時点では対応が協議中