【初心者向け】Codex/ClaudeCodeで作る Webアプリ作成レッスン(4時間)

まずはローカル環境で「動くもの」を作り、次にSupabaseへ保存して、最後にNetlifyで公開まで体験する。
プログラム暗記ではなく、Codex/ClaudeCodeと対話しながら作るための実践レッスンです。
🍱
本レッスンでは、「社内の弁当注文・集計アプリ(学習用の架空データ)」を例にして解説します。 進め方は、自社の他の業務(申請・在庫・予約など)にそのまま応用できます。
🎯
このレッスンでできるようになること(ゴール)
  • 何を作るかを「質問→回答」で要件整理できる
  • 最小構成のWebアプリをローカルで起動・確認できる
  • 問題が出たときに、直しやすい伝え方で修正依頼できる
  • Supabase(保存)+Netlify(公開)まで一通り体験できる

対象(こんな方におすすめ)

  • 生成AIでアプリを作りたいが、何を指示すればいいか分からない
  • エラーが出ると止まってしまい、直し方の頼み方が難しい
  • Web公開(Supabase/Netlify)が初めてで、全体像をつかみたい

題材(作るもの)

社内の弁当注文・集計アプリ(学習用の架空データ)
  • 社員:弁当を「1人1日1個」注文(締切前は変更・キャンセル可)
  • 総務:弁当・社員・部署・日別メニューを管理、締切後も代理編集
  • 集計:弁当別の個数・合計金額・注文者一覧、CSV出力

完成イメージ(実際に作ったアプリの画面例)

📸
レッスンでは、このような3画面を目指して作っていきます(画像はすべて学習用の架空データ)。
① 社員用:お弁当注文画面(部署・氏名・弁当を選んで注文、締切前なら取り消しも可能)
社員用のお弁当注文画面
社員用のお弁当注文画面
② 総務用:集計画面(弁当屋別のFAX送信用集計表、社内配布用の注文者一覧、CSV出力・印刷)
総務用のお弁当注文集計画面
総務用のお弁当注文集計画面
③ マスタメンテナンス画面(部署・社員・弁当の登録。削除せず「無効」にして非表示にする考え方)
マスタメンテナンス画面
マスタメンテナンス画面

まず覚える言葉(初心者向け)

言葉意味(たとえ)
ローカル環境自分のPCの中だけで動かす練習場
データベース会社共通の台帳(注文・社員などを保存)
Supabaseデータベースとログインのサービス(台帳を置く場所)
Netlify作った画面をWebに置くサービス(入口の住所を作る)
ビルド公開できる形にまとめる作業
デプロイ公開先へ配置する作業
環境変数接続情報などを別置きで設定する仕組み
RLS「誰がどのデータを触れるか」を制限するルール

4時間版:当日の流れ(合計240分)

パート内容目安
1全体説明・準備(フォルダ/ツール確認、今日のゴール共有)20分
2要件整理(AIに質問させる→回答→必須/追加/未決を整理)40分
3ローカル版の作成(最小機能でまず動かす)70分
4ローカル動作確認+修正の頼み方(チェック→直す→再テスト)40分
5Supabase接続(保存できる状態にする、RLSの考え方を確認)40分
6Netlify公開(Dropで公開、公開後チェック、次回の進め方)20分
7ふりかえり(成果/つまずき/次にやること)10分
合計240分(4時間)

事前準備(講師・受講者)

  • Codex/ClaudeCode、Node.js、ブラウザ、インターネット接続
  • 受講者ごとに空の作業フォルダー
  • Supabase/Netlify登録用メール(※料金表示を都度確認)
  • 架空の部署・社員・弁当データ(例でOK)
🔒
安全のルール
  • クレジットカード情報、パスワード、秘密鍵はチャットへ貼らない
  • Secret key / service_role key は公開ファイルや画面側コードに入れない
  • 実データ(実在社員名・注文履歴)ではなく架空データで練習する

レッスンで使う「最初の指示文」(そのまま貼り付けOK)

業務用WebアプリをCodex/ClaudeCodeで作りたいのですが、初心者のため詳しい指示文を作れません。作りたい目的や利用者、必要な画面、機能、保存する情報、公開方法について、1回に1~3問ずつ質問してください。回答を整理し、おすすめ案を説明したうえで、最後にCodex/ClaudeCodeへ貼り付ける指示文を作ってください。

進め方(4ステップ)

Step 1:要件を固める(質問→回答)

回答のポイント:
  • 利用者(社員/総務)
  • 締切、変更・キャンセル
  • 管理(社員/弁当/日別設定)
  • 集計と出力(CSVなど)
  • 画面(PC/スマホ)
整理依頼(送る文)
ここまでの回答を、必須機能、後から追加する機能、未決定事項に分けて整理してください。初心者向けにおすすめ案と理由も説明してください。
重要な訂正例(送る文)
「複数個注文」ではなく「1人1日1個」です。要件を修正してください。

Step 2:まずローカル版を作る(公開はまだしない)

送る文
最終的にはWeb公開しますが、最初はローカル環境で動くアプリを作ってください。まず最小限の機能を完成させ、実際に起動して動作確認してください。初心者向けに起動方法と確認方法も説明してください。この段階では架空のサンプルデータを使用し、まだWeb公開はしないでください。
起動依頼(送る文)
ローカル確認用のサーバーを起動してください。ブラウザで開くURLと終了方法を初心者向けに教えてください。

Step 3:チェックして、直し方を覚える(大事)

チェックリスト(ローカル版)
  • 社員:ログイン→部署/社員選択→弁当を1個→注文→変更/キャンセル→直近履歴
  • 総務:弁当管理、社員/部署管理(退職者は非表示)、日別設定、集計、締切後の代理編集、CSV
  • スマホ:幅390pxで操作しやすい、横はみ出しなし
直し方テンプレ(送る文)
○○画面で△△を操作すると□□になります。本来は××になってほしいです。原因を確認して修正し、同じ操作をテストしてください。他の正常な機能は変更しないでください。

Step 4:Supabase保存 → Netlify公開(共有できる状態へ)

Web公開の依頼(送る文)
ローカル版の確認が終わりました。次はSupabaseにデータを保存し、Netlify DropでWeb公開できるようにしてください。GitやGitHubは使いません。私は初心者なので、最初に全体の流れを説明し、その後は私が行う操作を1回に1~3手順ずつ案内してください。現在の機能は残してください。秘密の鍵を公開ファイルへ入れないようにし、安全設定も確認してください。公開前にローカル環境で動作確認とビルドをしてください。
🧠
SupabaseとNetlifyの役割(超かんたん)
  • Supabase:注文データを保存する「共通の台帳」
  • Netlify:アプリ画面を置く「Web上の入口」

よくあるトラブル(初心者向けの対処)

  • ローカルURLが開かない
    • 送る文:
  • Netlifyでビルド失敗
    • Deploy logを共有し、Node.jsバージョン/ビルドコマンド/公開フォルダ/環境変数を確認
  • Supabaseへ保存できない
    • Project URL / Publishable key / テーブル名 / RLS を確認(Secret keyをブラウザへ入れて解決しない)

参考資料

📌
公式画面や無料枠は変更される可能性があります。当日は、画面に表示される料金と設定を確認しながら進めてください。

プロフィール

AI指導者・小田広通のプロフィール写真
AI指導者・小田広通のプロフィール写真
💡 現場目線・経営者目線を貫く、ITの町医者として
インフォケーション株式会社 代表取締役
東京都あきる野市に本社を構え、四半世紀にわたり地元の産業をITで支え続けてきた経営者です。
これまでに手がけた業務システム構築数は200件を超え、特に製造業や流通業の核となる「生産管理」「販売管理」システムで多数の実績を持っています。

🛠️ 現在の取り組みとメッセージ

現在は、最先端のAIエージェントや、社内に眠る知識を形にするナレッジ構築を活用。深刻化する中小企業の人手不足解消や業務効率化を、二人三脚でサポートする伴走支援に力を入れています。

無料相談・デモ体験

「自社の業務でも作れるか試してみたい」「レッスンの内容を相談したい」など、どんな小さな疑問でも大歓迎です。
🗓️
事前にご用意いただくとスムーズです:現在の業務で使っている資料(Excel台帳、注文用紙、集計表など)を1〜3点