motsu8 / youtube_note

youtube動画の複合的なノート機能
https://youtube-note-neon.vercel.app
0 stars 0 forks source link

技術選定 #1

Closed motsu8 closed 1 year ago

motsu8 commented 1 year ago

言語

Typescript

フロントエンド

Next.js

DB

Postgres

Baas

Supabase

ORM

prisma

CI/CD

vercel / husky

その他

ESLinst / prettier

motsu8 commented 1 year ago

DB(Baas) 比較検討

Baas Supabase Vercel Postgres Firebase AWS Amplify
DBMS Postgres Postgres NoSQL NoSQL
DB capacity 500MB 256MB 1,000MB 5,000MB
Price(限度) データ量に応じて(500MB) 利用限度を超えると使用不能(256MB) 読み書き削除に応じて(1,000MB) 12ヶ月無料(終了後、従量課金)
Auth ×
motsu8 commented 1 year ago

ORMは必要なのか

ORMとは

Prismaについて

以下、3つを使用しての開発となる

vercelでデプロイする場合、マイグレートする必要があるため、build時のコマンドにprisma migrateの記述が必要となる。

Prisma Schema

Prisma Schema によってデータモデルを定義する。 定義したデータモデルは、DBのテーブルへマッピングされ、Prisma Client によって提供され、生成されたデータアクセスAPIの基礎となる。

Prisma Migrate

Schemaをデータベースを作成変更するために必要なSQLに変換してくれる。

Prisma Client

開発者がオブジェクトで考えることができる。 TypeScriptによる開発の場合、Prisma Client によるクエリの結果はすべて型付けされるため、型安全が保証される。

GraphQL

GraphQLとの連携可能