Tutorial/tutorials

チュートリアル: ミニブログを作る

このチュートリアルシリーズでは、空のディレクトリから、小さいながらも本物のブログアプリケーションを作り上げます。スキーマ、モデル、バリデーター、コントローラー、ルート、React ページ — と 1 レイヤーずつ積み上げていくので、完走する頃には Guren アプリの各パーツがどう噛み合うのかを理解できているはずです。

チュートリアル: ミニブログを作る

このチュートリアルシリーズでは、空のディレクトリから、小さいながらも本物のブログアプリケーションを作り上げます。スキーマ、モデル、バリデーター、コントローラー、ルート、React ページ — と 1 レイヤーずつ積み上げていくので、完走する頃には Guren アプリの各パーツがどう噛み合うのかを理解できているはずです。

途中で見慣れない用語が出てきたら 用語集 を参照してください。

作るもの

訪問者が次のことをできるミニブログです。

  • ページネーション付きの投稿一覧を眺め、各投稿を読む
  • ユーザーアカウントでサインインする
  • 投稿を書く(サインイン済みユーザーのみ)。各投稿には著者が表示される
  • 投稿にコメントを残す

シリーズ構成

各パートは前のパートの続きから始まる積み上げ式です。順番どおりに進めてください。

  1. ブログ投稿アプリを作る — 新規アプリを雛形生成し、投稿の CRUD を手作りします: posts テーブル、Post モデル、Zod バリデーション、コントローラー、ルート、3 つの React ページ。最終成果: フォームから投稿を作成し、一覧に表示されるところまで。
  2. 認証を追加する — コマンド 1 つで認証の雛形をインストールし、デモユーザーでサインインし、投稿作成をログイン必須にして、すべての投稿に著者を紐づけます。最終成果: サインイン済みユーザーだけが投稿でき、各投稿に書いた人が表示されるところまで。
  3. リレーションシップ: コメント — 投稿とユーザーの両方に関連する comments テーブルを追加し、hasMany / belongsTo のリレーションシップを宣言して、投稿ページにコメントフォームを作ります。最終成果: サインイン済みユーザーがどの投稿にもコメントでき、コメントに著者名が表示されるところまで。

前提条件

  • Bun 1.1 以降 — 必須なのはこれだけです。
  • 以上です。雛形生成のデフォルトは SQLite なので設定は一切不要 — Docker もデータベースサーバーも要りません。(雛形生成時に PostgreSQL や MySQL も選べますが、このコースではデフォルトの SQLite のまま進めます。)

各パートの所要時間はおよそ 15〜20 分です。

Tip

このシリーズは機能を作ることに集中しています。環境セットアップ、レンダリングモード、本番ビルドまで含めた幅広いツアーは はじめるファーストステップ を参照してください。

準備はいいですか? Part 1: ブログ投稿アプリを作る から始めましょう。