Next.js 13 で追加された App Directory と Supabase を使用してブログを構築していきます。

Next.js 13 App Directry のメリット

  • コードをサーバーコンポーネントとクライアントコンポーネントで組織的に管理することができる
  • コードの可読性の向上
  • 開発効率の向上
  • セキュリティ向上

App Directory はサーバーコンポーネントがデフォルトとなっています。

クライアントコンポーネントと指定しない限りサーバーサイドでレンダリングされるので、セキュリティが向上し表示スピードも上がります。

Supabase のメリット

  • API を提供するため、既存のアプリケーションから移行する際のコストが低い
  • Firebase のようなバックエンドサービスで、PostgreSQL を利用できる
  • PostgreSQL のデータベースを使用するため、複雑なクエリを実行することができる
  • 完全にオープンソースであり、自由にカスタマイズすることができる
  • セキュリティやスケーラビリティに優れており、大規模なアプリケーションにも対応している

Supabase はバックエンド機能を提供するクラウドサービスで、データベースに PostgreSQL を使用しています。

フロントエンドとバックエンドの境界がなくなるので、より効率的な開発が可能になります。

フルスクラッチで Next.js13 の新機能 App Directory と Supabase の使い方を学習していきます。

デザインは TailwindCSS を使用していきます。

※2023/01
Next.js 13のApp Directoryはベータ版のため、今後ディレクトリ構成が変わる可能性があります。

目標

下記を学習していきます。

  • Next.js 13 App Directory での構築方法
  • Supabase ユーザー認証(ログイン、サインアップ、ログアウト)
  • Supabase データベース構築
  • Supabase ストレージ構築
  • Supabase SQL Editor での構築
  • ブログで作成、取得、編集、削除(CRUD)を学習

動画チュートリアル

動画でも解説しています。

https://youtu.be/nQ7lKzI6RlE

ぜひ参考にして下さい。

機能

  • サインアップ
  • ログイン
  • ログアウト
  • ブログ一覧
  • ブログ新規投稿
  • ブログ編集
  • ブログ削除
  • プロフィール
  • 画像保存

エラーが発生した場合

詳しいコードの解説は、Next.js、Supabase の公式ページを参考にして下さい。

https://beta.nextjs.org/docs

https://supabase.com/docs

ソースコード

LINE 登録すると全ての講座のソースコードがダウンロードできます。

ぜひ登録をお願いします。

LINE お友達登録
https://lin.ee/NKoTJnV

もしエラーが発生したり、分かりにくい箇所は下記のソースコードを参考にして下さい。

https://github.com/haruyasu/nextjs-supabase-blog-tutorial

前提知識

このチュートリアルを始める前に、下記は学習しておいて下さい。

  • React
  • Next.js
  • HTML
  • CSS
  • JavaScript

では、始めて行きましょう!!