【Next.js15】新登場したHooks/ServerActionsを駆使して作るSNS開発実践講座
Next.js15で利用される新しいHooksをSNSを開発しながら解説する講座です。useOptimistic(), useFormState(), ServerActions等を学ぶことができます。認証はClerkを採用しておりWebhooksを使ってSupabaseとの連携まで行います。
はじめに:本講座で学べる事
完成品デモ
開発環境構築からはじめよう
【補足】SNSレイアウトをAIの力で作る方法
Clerkで認証機能から実装しよう
ClerkのUIを使ってサインインページを作ろう
ログイン済みユーザーアイコン画像を表示させよう
Supabaseの初期セットアップをはじめよう
Prismaの初期セットアップをはじめよう
SNSのDB設計をはじめよう(Claudを利用)
modelを作成してマイグレーション操作をしよう
ClerkのWebhooksを利用してみよう
ngrokで一時的に開発者サーバーを公開しよう
prismaインスタンスを作成してORMを利用してみよう
ユーザー更新時の処理の実装とSupabaseへ保存されるかのテスト
ポスト投稿でServerActionsを使ってみよう
ServerActionsとPrismaを使ってSupabaseへデータを保存しよう
zodを使ってバリデーションチェックをしよう
バリデーションエラーを出力してみよう
CSSの修正とポスト時のテキストクリア
ServerActions利用時の注意点
useFormStatus()でペンディング状態管理
useFormState(useActionState)でサーバーサイドで状態管理しよう
ServerComponentでのデータフェッチング
revalidatePath()でキャッシュクリア
関数のリファクタリング
まずはコンポーネント分割からはじめよう
いいね実装に必要なpropsを渡そう
ServerActionsでいいね機能を実装しよう
いいねを即時反映させるためには
useOptimitiscを使った楽観的UI更新
いいねのCSSを変更・修正してみよう
まずは手動で他ユーザーをフォローしてみよう
フォロー中のユーザーのポスト投稿もタイムラインに表示させよう
タイムラインは縦スクロールで表示させよう
プロフィールページを作成しよう
ユーザー固有のプロフィール情報を取得して表示しよう
ユーザー固有のタイムラインを表示させよう
フォローボタンコンポーネントを作成しよう
ユーザー状態に応じてボタンUIを変更させよう
※これ以降の動画は準備中です。
ServerActionsでフォロー機能を実装しよう
複合キーを使ったフォローとアンフォローの実装
楽観的フォローUI更新を実装しよう
細かい修正とAPI RoutesとORMデータフェッチについて
ボーナスレクチャー