AI活用と意思決定デザイン

最終課題:自分のイベント受付アプリにカスタマイズする

この節で学ぶこと

前の節では、エラーが出たときや意味がわからないときに、AIへどのように質問すればよいかを学びました。

この節では、これまで作ってきた学校祭デジタル受付アプリを、自分のイベント用の受付アプリに変更します。

ここまでの授業では、完成コードを貼り付けて動かし、少しずつ変更する練習をしてきました。

この節では、その練習を使って、次のようなオリジナル受付アプリを作ります。

学校祭デジタル受付
↓
自分のイベント受付アプリ

この節のゴール

この節のゴールは、ゼロから新しいアプリを作ることではありません。

すでに動いている受付アプリを、自分の目的に合わせて変更することです。

完成コードを使う
↓
イベント名を変える
↓
説明文を変える
↓
選択肢を変える
↓
色を変える
↓
受付フォームとして使える形にする

初心者の方は、まず「全部を自作する」よりも、動いているものを自分用に変えることを目標にします。


1. まずテーマを決める

最初に、自分が作る受付アプリのテーマを決めます。

たとえば、次のようなテーマがあります。

テーマアプリ名の例
学校祭学校祭デジタル受付
オープンキャンパスオープンキャンパス受付
作品展示会卒業制作展 受付フォーム
サークルイベントサークル体験会受付
地域イベント地域交流イベント受付
フードイベントフードフェス受付
セミナー参加者受付フォーム
勉強会プログラミング勉強会受付
ライブイベントミニライブ入場受付
スポーツ大会校内スポーツ大会受付

テーマ選びのポイント

テーマは、難しく考えすぎなくて大丈夫です。

次のように、自分がイメージしやすいものを選びます。

自分が参加したことのあるイベント
学校でありそうなイベント
友達に説明しやすいイベント
受付フォームが必要そうなイベント

この授業では、実際に開催するイベントでなくても構いません。

架空のイベントでも大丈夫です。


2. 今回変更する場所

最終課題では、最低でも次の5つを変更します。

必須変更するものファイル
必須アプリ名index.htmlオープンキャンパス受付
必須説明文index.html本日はご参加ありがとうございます
必須来場区分index.html高校生、保護者、先生
必須来場目的index.html体験授業、施設見学、個別相談
必須ボタン文字index.html受付を完了する

余裕がある人は、次の内容も変更します。

余裕があれば変更するものファイル
任意メインカラーindex.html青、緑、紫など
任意背景色index.html薄い青、クリーム色など
任意管理者パスコードCode.gs1234など
任意目標来場者数Code.gs50、100など
任意管理画面の表示名index.html来場状況ダッシュボード

3. 作業の前にバックアップを取る

コードを変更する前に、今の状態を残しておくと安心です。

初心者の場合、変更中にタグを消してしまったり、引用符を消してしまったりすることがあります。

そのため、変更前のコードをメモしておきます。


簡単なバックアップ方法

一番簡単なのは、現在のコードを別の場所にコピーしておくことです。

1. Code.gsを開く
2. 全部コピーする
3. Googleドキュメントやメモに貼る
4. index.htmlも同じように保存する

または、変更前の重要部分だけメモしても大丈夫です。


変更メモの例

変更前:
<h1>学校祭デジタル受付</h1>

変更後:
<h1>オープンキャンパス受付</h1>

このように残しておくと、失敗したときに戻しやすくなります。


4. ワークシート:自分のイベントを決める

まず、次のワークシートを埋めます。

作りたいイベント名:
__________

どんなイベントか:
__________

誰が来るイベントか:
__________

受付で知りたい情報:
__________

管理画面で見たい情報:
__________

アプリの雰囲気:
__________

記入例:オープンキャンパス

作りたいイベント名:
オープンキャンパス

どんなイベントか:
学校に興味がある高校生や保護者が参加するイベント

誰が来るイベントか:
高校生、保護者、高校の先生

受付で知りたい情報:
氏名、来場区分、来場目的、住んでいる地域、出身学校

管理画面で見たい情報:
高校生が何人来たか、どの地域から来たか、体験授業希望が多いか

アプリの雰囲気:
明るく、安心感があり、学校らしい雰囲気

5. 演習1:アプリ名を変更する

index.html の中から、次の部分を探します。

<title>学校祭デジタル受付</title>

これを、自分のイベント名に変更します。


穴埋め

<title>__________</title>

<title>オープンキャンパス受付</title>

大きな見出しも変更する

次に、画面に大きく表示される見出しも変更します。

<h1>学校祭デジタル受付</h1>

穴埋め

<h1>__________</h1>

<h1>オープンキャンパス受付</h1>

6. 演習2:説明文を変更する

次に、受付フォームの説明文を変更します。

index.html の中から、次の部分を探します。

<p>
  ご来場ありがとうございます。必要事項を入力して受付を完了してください。
  氏名はカタカナで入力してください。
</p>

穴埋め

<p>
  ______________________________
</p>

例:オープンキャンパス用

<p>
  本日はオープンキャンパスにご参加いただきありがとうございます。
  必要事項を入力して受付を完了してください。
</p>

例:作品展示会用

<p>
  本日は作品展示会にお越しいただきありがとうございます。
  受付後に表示される番号をスタッフへお見せください。
</p>

例:フードイベント用

<p>
  本日はフードイベントにご参加いただきありがとうございます。
  混雑状況の確認のため、受付へのご協力をお願いします。
</p>

7. 演習3:来場区分を変更する

次に、来場区分の選択肢を変更します。

index.html の中から、次の部分を探します。

<option value="保護者">保護者</option>
<option value="在校生">在校生</option>
<option value="卒業生">卒業生</option>
<option value="地域の方">地域の方</option>
<option value="学校関係者">学校関係者</option>
<option value="その他">その他</option>

穴埋め

<option value="____">____</option>
<option value="____">____</option>
<option value="____">____</option>
<option value="その他">その他</option>

value と表示名は、基本的に同じにします。


例:オープンキャンパス用

<option value="高校生">高校生</option>
<option value="保護者">保護者</option>
<option value="高校の先生">高校の先生</option>
<option value="卒業生">卒業生</option>
<option value="その他">その他</option>

例:作品展示会用

<option value="一般来場者">一般来場者</option>
<option value="学生">学生</option>
<option value="保護者">保護者</option>
<option value="企業関係者">企業関係者</option>
<option value="その他">その他</option>

例:フードイベント用

<option value="一般参加">一般参加</option>
<option value="出店者">出店者</option>
<option value="スタッフ">スタッフ</option>
<option value="招待者">招待者</option>
<option value="その他">その他</option>

8. 演習4:来場目的を変更する

次に、来場目的の選択肢を変更します。

index.html の中から、次の部分を探します。

<option value="文化祭見学">文化祭見学</option>
<option value="発表・展示の見学">発表・展示の見学</option>
<option value="模擬店利用">模擬店利用</option>
<option value="学校説明会">学校説明会</option>
<option value="生徒の応援">生徒の応援</option>
<option value="その他">その他</option>

穴埋め

<option value="____">____</option>
<option value="____">____</option>
<option value="____">____</option>
<option value="その他">その他</option>

例:オープンキャンパス用

<option value="学校説明を聞く">学校説明を聞く</option>
<option value="体験授業に参加">体験授業に参加</option>
<option value="施設見学">施設見学</option>
<option value="個別相談">個別相談</option>
<option value="その他">その他</option>

例:作品展示会用

<option value="作品鑑賞">作品鑑賞</option>
<option value="学生作品の審査">学生作品の審査</option>
<option value="企業見学">企業見学</option>
<option value="知人の応援">知人の応援</option>
<option value="その他">その他</option>

例:フードイベント用

<option value="飲食">飲食</option>
<option value="出店ブース見学">出店ブース見学</option>
<option value="イベント参加">イベント参加</option>
<option value="友人の応援">友人の応援</option>
<option value="その他">その他</option>

9. 演習5:ボタン文字を変更する

送信ボタンの文字を変更します。

index.html の中から、次の部分を探します。

<button id="submitButton" class="button" type="submit">
  受付する
</button>

穴埋め

<button id="submitButton" class="button" type="submit">
  ______
</button>

<button id="submitButton" class="button" type="submit">
  受付を完了する
</button>

または、

<button id="submitButton" class="button" type="submit">
  参加登録する
</button>

JavaScript側の文字も確認する

このアプリでは、送信後にボタンの文字を戻すコードがあります。

次の部分も探します。

submitButton.textContent = '受付する';

ここも、ボタンに合わせて変更します。

submitButton.textContent = '受付を完了する';

10. 演習6:メインカラーを変更する

余裕がある人は、アプリのメインカラーを変更します。

index.html のCSSの中から、次を探します。

--black: #111827;

穴埋め

--black: ______;

色の例

雰囲気カラーコード
落ち着いた黒#111827
学校らしい青#2563eb
安心感のある緑#16a34a
元気なオレンジ#ea580c
文化祭らしい紫#7c3aed
上品なネイビー#1e3a8a
やわらかいピンク#db2777

--black: #2563eb;

これで、ボタンや一部のグラフが青系になります。


11. 演習7:管理者パスコードを変更する

管理画面のパスコードも変更できます。

Code.gs の中から、次の部分を探します。

function setAdminPasscode() {
  const passcode = '2026';

  PropertiesService
    .getScriptProperties()
    .setProperty(ADMIN_PASSCODE_PROPERTY_KEY, passcode);
}

変更するのは、この部分です。

const passcode = '2026';

穴埋め

const passcode = '____';

const passcode = '1234';

変更後に必要な作業

パスコードは、コードを変更しただけでは反映されないことがあります。

変更したら、次を実行します。

setAdminPasscode

手順です。

1. Code.gsでパスコードを変更する
2. 保存する
3. 関数選択メニューで setAdminPasscode を選ぶ
4. 実行する
5. 管理画面を開く
6. 新しいパスコードで入れるか確認する

12. 演習8:目標来場者数を変更する

管理画面の目標人数も変更できます。

Code.gs の上の方にある次の部分を探します。

const DEFAULT_TARGET_VISITOR_COUNT = 4;

穴埋め

const DEFAULT_TARGET_VISITOR_COUNT = __;

const DEFAULT_TARGET_VISITOR_COUNT = 50;

注意点

すでに一度 setupApp() を実行している場合、目標人数はスクリプトプロパティに保存されています。

そのため、DEFAULT_TARGET_VISITOR_COUNT を変更しただけでは、すぐに管理画面へ反映されない場合があります。

初心者の授業では、まず次の理解で大丈夫です。

DEFAULT_TARGET_VISITOR_COUNT
→ 目標来場者数の初期値を書く場所

確実に変更したい場合は、先生の指示に従って、目標人数更新用の関数を追加して実行します。


13. 変更後に保存とデプロイ更新をする

変更したら、必ず保存します。

Mac:
Command + S

Windows:
Ctrl + S

ただし、Webアプリの公開画面では、保存しただけでは反映されない場合があります。

その場合は、デプロイを更新します。

デプロイ
↓
デプロイを管理
↓
編集
↓
新バージョン
↓
デプロイ

確認すること

変更後は、必ずWebアプリのURLを開いて確認します。

確認項目見る場所
アプリ名が変わったか受付フォーム上部
説明文が変わったか受付フォーム上部
来場区分が変わったか来場区分の選択欄
来場目的が変わったか来場目的の選択欄
ボタン文字が変わったか送信ボタン
色が変わったかボタンやグラフ
パスコードが変わったか管理画面
目標人数が変わったか管理画面

14. 動作確認をする

自分用に変更できたら、必ず動作確認をします。

動作確認の流れ

1. 受付フォームを開く
2. 自分で1件入力する
3. 受付番号が表示されるか確認する
4. スプレッドシートに保存されたか確認する
5. 管理画面を開く
6. 集計に反映されたか確認する

テスト入力例

自分のイベントに合わせて、次のように入力します。

項目入力例
氏名カナヤマダ タロウ
来場区分高校生
学年3年
クラスA組
来場目的体験授業に参加
同伴人数1
郵便番号1000001
都道府県東京都
市区町村千代田区
出身学校〇〇高等学校
備考個別相談を希望

15. 提出物

最終課題では、次の内容を提出します。

作ったアプリ名:

どんなイベント用か:

変更したところ1:

変更したところ2:

変更したところ3:

変更した色:

管理者パスコード:

目標人数:

うまく動いたところ:

難しかったところ:

AIに質問した内容:

完成URL:

提出例

作ったアプリ名:
オープンキャンパス受付

どんなイベント用か:
高校生と保護者が参加する学校説明会用の受付アプリ

変更したところ1:
アプリ名を「オープンキャンパス受付」に変更した

変更したところ2:
来場区分を「高校生、保護者、高校の先生、卒業生」に変更した

変更したところ3:
来場目的を「学校説明、体験授業、施設見学、個別相談」に変更した

変更した色:
メインカラーを青に変更した

管理者パスコード:
1234

目標人数:
50人

うまく動いたところ:
受付番号が表示され、スプレッドシートに保存された

難しかったところ:
変更した内容がWebアプリに反映されず、デプロイ更新が必要だった

AIに質問した内容:
保存したのに画面が変わらない原因を質問した

完成URL:
https://script.google.com/...

16. 評価のポイント

この課題では、難しいコードを書けるかどうかだけを評価するわけではありません。

次の点を確認します。

評価項目内容
動作するか受付フォームが動き、受付番号が表示されるか
保存されるかスプレッドシートにデータが入るか
自分用に変更できているかアプリ名や選択肢がテーマに合っているか
管理画面が見られるか集計や最新受付が表示されるか
AIを使って調べられたか困ったことを整理して質問できたか
変更内容を説明できるかどこを変えて何が変わったか説明できるか

17. よくあるつまずき

つまずき1:全部変えようとしてエラーになる

最初からたくさん変更すると、エラーが出たときに原因が分からなくなります。

次の順番で進めます。

アプリ名だけ変える
↓
保存・デプロイ更新
↓
確認
↓
説明文を変える
↓
保存・デプロイ更新
↓
確認

1つずつ進めることが大切です。


つまずき2:選択肢のタグを壊してしまう

option タグは、次の形を守ります。

<option value="高校生">高校生</option>

間違いやすい例です。

<option value="高校生">高校生

終了タグの </option> がないと、画面が崩れる原因になります。


つまずき3:パスコードを変えたのに入れない

パスコードを変更したら、setAdminPasscode を実行します。

コードを変更
↓
保存
↓
setAdminPasscodeを実行
↓
管理画面で確認

つまずき4:画面が変わらない

変更が反映されない場合は、次を確認します。

保存したか
デプロイを更新したか
ブラウザを再読み込みしたか
変更した場所が正しいか

18. わからない時にAIへ聞く方法

最終課題で困ったときは、次のテンプレートを使います。

Google Apps Scriptでイベント受付アプリを作っています。
元のコードは、学校祭デジタル受付アプリです。

自分のテーマ:
__________

やりたいこと:
__________

困っていること:
__________

変更前:
__________

変更後:
__________

エラー文:
__________

初心者にもわかるように、
原因と直し方を順番に教えてください。

例:選択肢を変えたら画面が崩れた

Google Apps Scriptでイベント受付アプリを作っています。
元のコードは、学校祭デジタル受付アプリです。

自分のテーマ:
オープンキャンパス

やりたいこと:
来場区分を高校生、保護者、高校の先生に変更したいです。

困っていること:
選択肢を変更したら、フォームの表示が崩れました。

変更後のコード:
<option value="高校生">高校生
<option value="保護者">保護者</option>
<option value="高校の先生">高校の先生</option>

初心者にもわかるように、
どこが間違っているか教えてください。

19. この節のまとめ

この節では、学校祭デジタル受付アプリを、自分のイベント用にカスタマイズしました。

大切なポイントは、次の通りです。

  • 最終課題では、自分のイベントテーマを決める。
  • 最低限、アプリ名、説明文、来場区分、来場目的、ボタン文字を変更する。
  • 余裕があれば、色、管理者パスコード、目標人数も変更する。
  • 変更前にバックアップやメモを取る。
  • 1回に1か所ずつ変更する。
  • 変更したら保存する。
  • 必要に応じてデプロイを更新する。
  • 受付フォーム、スプレッドシート、管理画面まで動作確認する。
  • 提出時は、どこを変更したか、何が難しかったか、AIに何を質問したかも書く。
  • エラーが出た場合は、変更前、変更後、エラー文をAIに伝える。

次の節では、完成したアプリを発表し、どこを変えたら何が変わったのかを振り返ります。


確認問題

問題1

最終課題で最低限変更する5つは何ですか。

回答

アプリ名、説明文、来場区分、来場目的、ボタン文字です。


問題2

コードを変更する前に、なぜバックアップやメモを取るとよいですか。

回答

エラーが出たときに、元の状態へ戻しやすくするためです。


問題3

来場区分や来場目的の選択肢を変更するときに使うHTMLタグは何ですか。

回答

<option> タグです。


問題4

パスコードを変更したあと、反映させるために実行する関数は何ですか。

回答

setAdminPasscode です。


問題5

最終課題の動作確認で見るべき3つの場所はどこですか。

回答

受付フォーム、スプレッドシート、管理画面です。

教材トップへ戻る