【ISSUE】Supabase入門

0

2024年12月23日 8:40

はじめに

Supabaseを触ったので、Next.jsでSupabaseからデータ取得ができるまでのやり方を書いていきます。 以下のURLからSupabaseの登録をしておいてください。

https://supabase.com/

以下のドキュメントに沿って書いていきます。

https://supabase.com/docs/guides/getting-started/quickstarts/nextjs

Supabaseとはなんぞや

ChatGPTに解説してもらいました。
Supabase(スーパーベース)は、オープンソースのリアルタイムデータベースであり、
バックエンドの機能を提供するプラットフォームです。
Supabaseは、アプリケーションのバックエンドを構築する際に必要な一般的な機能を簡単に利用できるように設計されています。

SupabaseはPostgreSQLデータベースをベースにしており、
リアルタイムのデータ同期、認証、ロールベースのアクセス制御、ストレージなどの機能を提供します。
これにより、開発者はサーバーサイドのコードを書かずに、高度なバックエンド機能を備えたアプリケーションを構築できます。

Supabaseの主な機能には以下のようなものがあります:

1.リアルタイムデータベース: リアルタイムウェブソケットを使用してデータのリアルタイム同期を実現します。データの変更をリッスンして、クライアントに即座に反映させることができます。

2.認証とアクセス制御: ユーザー認証やロールベースのアクセス制御を簡単に設定できます。ユーザーの管理とセキュリティを強化します。

3.ストレージ: ファイルのアップロードやダウンロードをサポートするストレージ機能を提供します。画像や動画などのメディアファイルを簡単に管理できます。

4.クエリ言語: SupabaseはPostgreSQLを採用しているため、強力なクエリ言語を使用してデータを操作できます。

5.サーバーレス関数: サーバーレス関数を使用して、サーバーサイドの処理を実行できます。APIエンドポイントを作成する必要がなく、シンプルでスケーラブルなバックエンドロジックを実装できます。

つまり、Supabaseはバックエンドの構築を簡単に行うことができて、様々な機能を実装することができるプラットフォームということです。

Supabaseでデータベース作成

まずはNext.jsでデータベースを作成して、データを引っ張ってこられるようにします。

1.データベースを作成

1.テーブル作成
サイドバーから「SQL Editer」を開木、「New query」をクリックします。
スクリーンショット 2024-02-18 11.49.35.png

以下のクエリをエディターに貼り付け、右下の「Run」ボタンをクリック。
img

以下のようになれば成功。

スクリーンショット 2024-02-18 11.49.13.png

「Table Editor」を開くと、テーブルが作成されていることが確認できます。
スクリーンショット 2024-02-18 11.51.41.png

SupabaseをNext.jsにインストール

Next.jsのプロジェクトを作成する方法と、既存のプロジェクトにSupabaseを組み込む方法があります。

新規プロジェクトを作成する場合

以下のコマンドを実行
img

Supabaseからデータを取得

先ほど作成したテーブルの情報を取得していきたいと思います。
まずは、「env.local」ファイルに作成したテーブルからデータを取得するための、プロジェクトURLと、キーを書いておきます。
img

次に、「components/TodoList.tsx」を作成し、以下のコードを書いていきます。
img

次に、「app/todos/page.tsx」を作成し、以下のコードを書きます。
img
すると、以下のようにテーブルのデータが表示され、データが取得できたことが確認できます。

スクリーンショット 2024-02-18 11.55.46.png

最後に

Supabaseには、これ以外にも様々な機能があり、色々なサービスに使えるなぁと思いました。

他にも色々な記事を書いているので、よければ読んでいってください、、、
基本設計について
Vue.jsとNode.jsでチャットアプリを作った
Next.js×TypeScriptでTODOアプリを作成する
[cv:issue_marketplace_engineer]

0

診断を受けるとあなたの現在の業務委託単価を算出します。今後副業やフリーランスで単価を交渉する際の参考になります。また次の単価レンジに到達するためのヒントも確認できます。