Tutorial/tutorials
チュートリアル: ミニブログを作る
このチュートリアルシリーズでは、空のディレクトリから、小さいながらも本物のブログアプリケーションを作り上げます。スキーマ、モデル、バリデーター、コントローラー、ルート、React ページ — と 1 レイヤーずつ積み上げていくので、完走する頃には Guren アプリの各パーツがどう噛み合うのかを理解できているはずです。
チュートリアル: ミニブログを作る
このチュートリアルシリーズでは、空のディレクトリから、小さいながらも本物のブログアプリケーションを作り上げます。スキーマ、モデル、バリデーター、コントローラー、ルート、React ページ — と 1 レイヤーずつ積み上げていくので、完走する頃には Guren アプリの各パーツがどう噛み合うのかを理解できているはずです。
途中で見慣れない用語が出てきたら 用語集 を参照してください。
作るもの
訪問者が次のことをできるミニブログです。
- ページネーション付きの投稿一覧を眺め、各投稿を読む
- ユーザーアカウントでサインインする
- 投稿を書く(サインイン済みユーザーのみ)。各投稿には著者が表示される
- 投稿にコメントを残す
シリーズ構成
各パートは前のパートの続きから始まる積み上げ式です。順番どおりに進めてください。
- ブログ投稿アプリを作る — 新規アプリを雛形生成し、投稿の CRUD を手作りします:
postsテーブル、Postモデル、Zod バリデーション、コントローラー、ルート、3 つの React ページ。最終成果: フォームから投稿を作成し、一覧に表示されるところまで。 - 認証を追加する — コマンド 1 つで認証の雛形をインストールし、デモユーザーでサインインし、投稿作成をログイン必須にして、すべての投稿に著者を紐づけます。最終成果: サインイン済みユーザーだけが投稿でき、各投稿に書いた人が表示されるところまで。
- リレーションシップ: コメント — 投稿とユーザーの両方に関連する
commentsテーブルを追加し、hasMany/belongsToのリレーションシップを宣言して、投稿ページにコメントフォームを作ります。最終成果: サインイン済みユーザーがどの投稿にもコメントでき、コメントに著者名が表示されるところまで。
前提条件
- Bun 1.1 以降 — 必須なのはこれだけです。
- 以上です。雛形生成のデフォルトは SQLite なので設定は一切不要 — Docker もデータベースサーバーも要りません。(雛形生成時に PostgreSQL や MySQL も選べますが、このコースではデフォルトの SQLite のまま進めます。)
各パートの所要時間はおよそ 15〜20 分です。
準備はいいですか? Part 1: ブログ投稿アプリを作る から始めましょう。