nanigacy / nestjs-prisma-nextjs

Nest.js/ Next.js/Prisma/Auth0/Stripeを使用したプロジェクトテンプレート 📦

Home Page:nestjs-prisma-nextjs.vercel.app

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

💎 NestJS Prisma NextJS

Saas Template

⚡️ Tech Stack

Open Source

Infra Services

👀 確認バージョン

  • Node.js: 14.x +

💡 開発環境セットアップ

API と DB の起動

.env をセットアップします。 AUTH0_ISSUER_URL を正しい値に変更する。

$ cp api/.env.example api/.env

コンテナを起動します。

$ docker compose up

Prisma で Database を migrate します。

$ docker compose exec api npx prisma migrate dev

docker compose up を実行すると、 start:dev から NestJS の API が起動します。

フロントアプリの起動

$ cp client/.env.example client/.env
$ cd client
$ yarn  # 依存関係を解消します
$ yarn dev  # http://localhost:3000 で起動されます

起動アプリケーション一覧

URL 解説
http://localhost:8080 api server
http://localhost:3000 client appication
postgresql://postgres:password@db:5432/nestjs-prisma-nextjs postgresql server

💡 PostgreSQLのDBクライアントは、 TablePlus を使っています。

⛵️ デプロイ

GCP Cloud Run にデプロイされます。

アーキテクチャ

github -> cloud build -> cloud run

⚡️ APIリファレンス

APIの確認は、 curl もしくは、 Postman API Platform をオススメします。 複雑な API は、 Postman が良いです。

汎用的な curl オプション

オプション 解説
出力にHTTP応答ヘッダーを含めます -i or -include
HTTPメソッドの指定 -X or --header
ヘッダーの指定 -H or --request
データ指定 -d or --data

User

GET /users

$ACCESS_TOKENはAuth0から取得します。

curl -X GET http://localhost:8080/users/ \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $ACCESS_TOKEN"

PUT /users

curl -X PUT http://localhost:8080/users/ \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $ACCESS_TOKEN" \
  -d '{"email": "example@gmail.com"}'

DELETE /users

curl -X DELETE http://localhost:8080/users/ \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $ACCESS_TOKEN"

About

Nest.js/ Next.js/Prisma/Auth0/Stripeを使用したプロジェクトテンプレート 📦

nestjs-prisma-nextjs.vercel.app


Languages

Language:TypeScript 58.8%Language:JavaScript 38.4%Language:Shell 1.8%Language:CSS 1.0%