Skip to content

nxzz/nest-prisma-passport-sample

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Backend

Nest.js + Prisma + Passport(local + JWT + RefreshToken) のテンプレート

License

MIT

フレームワーク

はじめかた

  1. docker-compose up
  2. cd app && npm install
  3. npm run start:dev

実装してあるもの

  1. ユーザ
    1. 新規登録API
    2. 管理者用全ユーザ取得API
  2. 認証
    1. ID/PWのログインとJWT、リフレッシュトークンの発行
    2. JWTでの認証
    3. リフレッシュトークンまわり(リフレッシュAPI)

主なファイルの類

DB

  1. ./db/init/01-initdb.sql - DBのイニシャライズ用、基本触らない
  2. ./app/prisma/schema.prisma - DB定義
  3. ./seed/seed.ts - シーダー
  4. ./app/src/modules/prisma/repository/*.ts - リポジトリ、テーブルを増やしたら増やすこと

モジュール

  1. ./app/src/modules/admin/ - 管理画面用API
  2. ./app/src/modules/auth/ - 認証系API
  3. ./app/src/modules/web/ - ユーザ用API(空)

開発用ツール

DB関係コマンドメモ

  • まず、 ./seednpm 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 で再生成

Todo

直したけどよい方法がない問題、対応策募集中

  • prisma のスキーマを複数ファイルに分割したい
    • prisma-merge, prismix などで単純に結合はできる
    • 補完が効かなくなる
    • prisma/prisma#2377 プロジェクト作成時点では対応が協議中

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published