Claude Code ロードマップ

トップ / 応用の紹介

データベース(Supabase)

これは読むだけのページです

何ができるようになるか

  • ユーザー情報や投稿などのデータを、アプリの外に保存できるようになる
  • ログイン機能(アカウント登録・サインイン)が作れるようになる
  • アプリを作り直しても、データはそのまま残せるようになる

どう繋がるのか

Phase 6で公開したアプリは、ページを表示するだけです。誰かが書き込んだ内容を、覚えておく場所がありません。その「記憶」を担当するのがデータベースです。

Supabaseは、データベースを1つ、管理画面ごと貸してくれるサービスです。ログイン機能(認証)も同じ場所に付いてきます。

そして接続に使うURLとAPIキーは、環境変数で渡します。ローカルでは .env.local に、本番ではVercelの画面に登録する。6-3で学んだ「置き場所は2つ」が、ここでそのまま実戦になります。5-6の「キーをGitHubに上げない」も、ここで守りとして効きます。

実際にやるとどんな感じか

アプリのコードからは、数行でデータを出し入れできます。

const { data } = await supabase
  .from("posts")
  .select("*");

posts という表から、全部の行を取り出す」と読めます。この程度の読み方が分かれば、あとの実装はClaudeに任せられます。

**⚠️ 1つだけ、先に知っておいてください。RLS(Row Level Security)という設定を飛ばすと、全データが誰でも読み書きできる状態で公開されます。**個人情報の流出事故として、実際に繰り返し起きています。Supabaseを使う日が来たら、テーブルを作るより先に「RLSとは何か」をClaudeに聞いてください。

始めるなら

アカウント作成から最初のテーブルまでは、Claudeに画面を説明しながら聞くと迷いません。「SupabaseをNext.jsから使いたい。何から始めればいい?」で十分通じます。

📖 出てきた言葉

データベースdatabaseデータベース

データを整理して保存し、あとから検索・更新できるようにした保管庫。アプリ本体とは別に存在する。 アプリは作り直しても、データベースが無事ならデータは残る。「記憶」を分離しておく安心がこれ。

RLSRow Level Securityアールエルエス

データの行ごとに「誰が読めるか・書けるか」を決めるSupabaseの安全装置。 これを飛ばすと全データが公開状態になる。Supabaseを触る日の最優先事項。