新規サービスの技術選定
オンラインサロンを開発する案件に際しての技術選定。
コストは低ければ低いほどいい(1. 当たり前 2. 月5000円くらいは許容のつもりだが、メールなどその他のSaaSによる)
主に3点
- hosting
- DB
- Auth
hostingに関してはnext-on-pagesがまともに機能するならcloudflareで行きたい
DBに関してもD1が機能するならfull stack cloudflareで行きたいが現状TXがないので厳しそう
authはnextauth(authjs)がedgeに対応してるっぽくいけるなら採用
-
hosting
- cloudflare workers
- vercel (検証しなくていい説)
-
DB
- turso
- neon
- D1(TXないなら除外でいいかも)
- supabse postgres
-
auth
- nextauth
- supabse auth
あとはやりながら変更はあると思うが、以下は決定事項。
- nextjs
- RDB
nextjs
スケジュールの関係
普段からnextjsを使っている訳では無い
が一番触れてる時間が自分の中では長い
というよりその他(Remix, sveltekit 等)を触ったことがない
RDB
NoSQLの経験がほぼ皆無
まずはhosting
next-on-page を試す
npx create-next-app@latest my-next-app
rm package-lock.json && pnpm i && pnpm dev
memo
pnpm
を使いたい場合はビルドコマンドを pnpx @cloudflare/next-on-pages@1
に変更する
一旦deploy
次に turso を試す(少し腰が重い...)
サインアップ後に諸々準備
まずはcliをインストール
brew install tursodatabase/tap/turso
cliからauth
turso auth login
dbの作成
恐らくロケーションから判断して一番近いリージョンに作ってくれる(nrt)
turso db create
次に NexAuth と drizzle の準備をする
NextAuth
pnpm add next-auth@beta
pnpm add @auth/core
pnpm add @auth/drizzle-adapter
Drizzle
pnpm add drizzle-orm postgres
pnpm add -D drizzle-kit
Google auth が動かない...
下記のyoutubeだと動いてるけどなんでだろ...
"next-auth": "5.0.0-beta.4"
で試したらできるようになってた...
ただyoutubeに出てるpackage.jsonを見ると "next-auth": "5.0.0-beta.3"
で謎