どの子も自ら本を読み始める! 共有型読書記録アプリ「みんなの本だな」の作り方~オリジナルアプリ開発シリーズ

今回は、GAS(Google Apps Script)を活用し、クラス全員で読んだ本と感想を共有できる読書記録アプリの作り方をご紹介します。読んだ冊数と連動したすごろく遊びができたり、集めたコインでキャラクターが育ったり……。子どもたちが楽しみながら読書量を増やし、読む本のジャンルを広げていける仕掛けを満載したアプリです。本文の有料パートでは、そのまま使えるこのアプリのテンプレート(スプレッドシート)をプレゼントします
執筆/大内秀平(宮城県公立小学校教諭・Google for Education 認定イノベーター)
目次
はじめに
1人1台端末が日常のものとなり、手軽に情報が手に入るようになった今だからこそ、子どもたちが文章をじっくり読み深める読書の時間は大切にしたいものです。とはいえ、「本を読みましょう」と声をかけるだけで自然と読書好きになってくれるかというと、現実はそう簡単ではありません。
そこで今回は、子どもたちが思わず本を開きたくなる仕組みとして、クラス全員で読んだ本と感想を共有できる読書記録アプリをGAS(Google Apps Script)で作る実践をご紹介します。読んだ冊数に応じてすごろくが進んだり、コインでキャラクターが育ったりと、子どもが夢中になる仕掛けを取り入れました。専門的なプログラミングの知識がなくても、十分に動くものを作ることができます。
上はアプリのトップ画面です。左が自分の本だな、右が記録の入力フォームになっています。
▼ 実際に触れるデモをご用意しました。まずはお試し下さい。
架空の名簿とサンプルの記録で動くデモです。本を記録する、「いいね」を押す、キャラクターを育てる、先生の画面を開くなど、この記事でこの後紹介する操作をそのまま試していただけます。入力した内容は保存されず、ページを開き直すと元に戻りますので、どうぞ自由に触ってみてください。
デモ:https://script.google.com/macros/s/AKfycbxImHzotVQrwKLllosRQa4FQjmE3aNkiA9jlBzfaT0ag0O2WIiC3C1q93HI7uBXxyRZ/exec
生成AIアプリ開発で直面した「データ保護の壁」
最近では、Geminiの「Canvas機能」をはじめ、手軽にWebアプリの画面やコードを生成する実践が注目されています。私自身も以前、本サイトにてGeminiを活用したアプリの作成手順をご紹介しました(下の関連記事URL参照)。実際に試してみると、驚くほど本格的な画面がすぐにできあがります。
【関連記事】
毎時の振り返りから生まれた、生きた「学びの技」が身につく!NotebookLM × Gemini活用 「算数科単元復習アプリ」の作り方
このように手軽にアプリが作れ、簡易的なものであればすぐに子どもたちへ共有できる良さがある一方で、難しいこともあります。それが、「データの保存と共有」です。
たとえばCanvasで作ったアプリは、端末のブラウザ上で一時的に動いているだけです。そのため、「友だちの読書記録を見る」「先生がクラス全体の記録を把握する」といった使い方が難しいのです。
また、最近ではClaude CodeやCodexなどのツールを使って本格的なWebアプリを作ることもできます。ただ、教員自身が校務などで使うツールなら柔軟に試せても、子どもたちの学習データを外部サーバーに保存・共有するとなると、学校の情報セキュリティ基準やアカウント管理の面でどうしてもハードルが高くなります。
そこで目をつけたのが、学校で普段から使っているGoogle環境(Google Workspace)の中で完結するGAS(Google Apps Script)でした。これなら外部サービスを一切使わず、すでに導入されているGoogleドライブやスプレッドシートに安全にデータをためて、クラスみんなで共有できます。
STEP 1:まずは子どもたちの「生の声」を聞くことから
今回のアプリ作りで一番気をつけたのは、大人の思い込みだけで仕様を決めないことです。実際に使うのは子どもたちですから、「どんな読書アプリだったら、毎日使いたくなる?」と率直に尋ねてみることからスタートしました。
学級の子どもたちからは、次のような声が返ってきました。
「本棚みたいに表紙が並んでほしい」
「ポイントがたまってレベルアップしたい」
「友達のおすすめが見たい」
「読むのが遅いから、たくさん読む人だけがいい思いをするのはいや」
特に「たくさん読む人だけがいい思いするのはいや」という一言には考えさせられました。もし教員の視点からだけ考えていたら、単純に冊数を競わせる仕組みにして、読書が苦手な子を置き去りにしていたかもしれません。
子どもたちの声をもとに作ったアプリは、「これ、ぼくが言ったやつだ!」と最初から愛着を持って迎えられます。子どもたちと一緒に仕様を考えること自体が、この実践の最も大切な足場かけになります。
STEP 2:AIに「1ファイルで動くコード」を作ってもらう
集まった子どもたちの声を、そのまま生成AI(ClaudeやGeminiなど)に伝えてコードを作ってもらいます。ここで、ぜひ入れてほしい大事な一言があります。
「GASに貼り付けるコードは、1つのファイル(コード.gs)にすべてまとめてください」
この一文を添えるだけで、作業の負担がぐっと減ります。実際の指示(プロンプト)は、以下のような素朴な日本語で十分です。
小学5年生が使う読書記録アプリをGASで作ってください。
データはスプレッドシートとGoogleドライブに保存できるようにしたいです。
また、GASに貼り付けるコードは、1つのファイル(コード.gs)にすべてまとめてください。
通常、GASでWebアプリを作ろうとすると、HTMLやスタイルシートなど複数のファイルを分けて作成・管理する必要があり、初めて取り組む先生がつまずく原因になります。
「1つのファイルにまとめて」と理由を添えてお願いすれば、AIはその通りにまとめて出力してくれます。
STEP 3:コピペして公開する(3分)
ここが唯一の作業らしい作業です。AIが作ってくれたコードを貼り付けて公開(デプロイ)するだけですので、手順どおりに進めれば3分ほどで終わります。

① 新しいGoogle スプレッドシートを開きます。
② 上のメニュー「拡張機能」→「Apps Script」をクリックします。(別のタブでスクリプトの画面が開きます)
③ 最初から書かれている数行をすべて消し、受け取ったコードを貼り付けます。
④ 💾(フロッピーのアイコン)を押して保存します。
続いて、Webアプリとして公開する手順です。

⑤ 右上の青い「デプロイ」→「新しいデプロイ」をクリックします。
⑥ 左上の⚙️(歯車マーク)を押して「ウェブアプリ」を選びます。
⑦「次のユーザーとして実行」は「自分」を選択します。
⑧「アクセスできるユーザー」は「(学校のドメイン名)内の全員」を選択します。
⑨「デプロイ」をクリックします。

その後の手順は、以下の通りです。

⑩「アクセスを承認」を押し、自分のアカウントを選びます。
⑪「このアプリは確認されていません」と出たら、左下の「詳細」→「(プロジェクト名)に移動」をクリックします。
⑫「許可」をクリックします。
これで、末尾が /exec で終わるURLが表示されます。このURLが、子どもに配るアドレスです。
Google Classroomなどに貼っておけば準備完了です。記録用の表をあらかじめ作っておく必要はありません。
最初にアプリを開いた瞬間に、記録用のスプレッドシートと写真を入れるフォルダが自動で作られます。
列の名前をそろえる作業も、共有設定もいりません。先に先生が一度開いておくと安心です。
【もしエラーが出て進めないときは】
途中でエラー画面が表示されて進めなくなった場合は、その画面をスクリーンショットして、そのままAIに見せてみてください。「このエラーが出ました。どう直せばよいですか?」と尋ねれば、修正手順を具体的に教えてくれます。
低学年でも迷わないログインの仕組み
アプリを開いたときのログイン画面は、Googleアカウントではなく「クラス+名前+4桁の数字」を選んで入る形にしました。パスワードは初回に子ども自身が決めて登録されます。先生が人数分のIDやパスワードを管理して配る必要はありません。

どの子も達成感が味わえる工夫
「たくさん読む人だけがいい思いをするのはいや」という声に応え、読書の得手不得手に関わらず誰もが楽しめる仕組みを取り入れました。
① 自分に合った「ステージ選択」
- 🏝️ はじまりの島(10さつでゴール):読書が少し苦手な子向け
- 🌳 ぼうけんの森(20さつでゴール):普段から読んでいる子向け
- ⛰️ たつじんの山(30さつでゴール):読書が得意な子向け
② 努力が報われる「コインと育成」
活字中心の本を読んだり、感想をしっかり書いたりすると、コインが多くもらえます。貯めたコインでお店でアイテムを買い、自分のキャラクターを育てることができます。

③ 読むジャンルが広がる「読書の輪」
図書館の日本十進分類法(NDC)を子どもに理解しやすい言葉に置き換えたグラフです。「ぼく、物語ばっかりだ」などと、読書ジャンルの偏りに自ら気づき、まだ読んでいない分野へ手を伸ばすきっかけになります。友だちの記録にしおり(🔖)を挟んでおく「読みたい本リスト」もおすすめです。

教師の画面:努力を多面的に見取り、賞状にする
教師用の管理画面では、学級の読書状況がひと目で把握できます。月曜からの読書冊数を確認して「今週もみんなよく読んだね」と朝の会で声をかけたり、月ごとの変化を見取ったりするのに役立ちます。

月を選べば、その月の記録が一人ひとり並びます。冊数、活字の本、ページ数、読んだ分野の数、感想の文字数、もらった「いいね」、書いたコメント、そして先月との差まで、一つの表で見わたせます。
学級全体の分野別グラフも出るので、「今月はほとんど物語ばかりを読んでいたな」と分かれば、図書室の展示や選書のヒントになります。子どもたちが「読みたい」を押した本のランキングも、図書室で次に借りる本や、学級文庫に並べる本を決める確かな手がかりになりました。

上の画像は、学級全体の分野別グラフと、子どもたちが「読みたい」を押した本の一覧です。
さらに、集まったデータをもとに、毎月の表彰候補が自動でリストアップされます。
| 賞 | えらび方 |
|---|---|
| 📚 たくさん読んだで賞 | その月の冊数 |
| 📖 活字チャレンジ賞 | 活字中心の本を読んだ冊数 |
| 🔗 学びをつなげたで賞 | 感想に教科名や「授業で習った」が入っている本 |
| ✍️ 感想名人賞 | 感想の合計文字数 |
| ❤️ 人気者賞 | もらった「いいね」の数 |
| 💬 なかよし賞 | 友だちに送ったコメントの数 |
| 🌱 ぐんとのびたで賞 | 先月からの伸び(増えた冊数) |
| 🌈 いろいろ読んだで賞 | その月に読んだ分野の数 |
| 📏 ページ数チャレンジ賞 | その月に読んだページ数 |
冊数だけを見ていると、どうしても毎月同じ顔ぶれが並んでしまいがちです。しかし「先月よりどれだけ伸びたか」「どれだけ友だちと交流したか」といった多様なものさしを用意することで、普段は目立ちにくい子の頑張りもすくい上げることができます。
また、これらの賞は固定されたものではなく、スプレッドシート上で先生がオリジナルの賞を自由に追加したり、賞の名前や賞状の文面を変更したりすることも可能です。「歴史の本をたくさん読んだで賞」や学級目標に合わせたオリジナルの賞など、クラスの実態に合わせて柔軟にカスタマイズできます。
選んだ子には、育てたキャラクターのイラスト入り賞状(A4横)をそのまま印刷して渡せます。
【重要】配ったあとの更新手順
このアプリは、配って終わりではありません。教室で実際に使っていくと、子どもたちから「ここをもっとこうしてほしい」「こんな機能がほしい」と様々な要望が出てきます。そうした声を受けてコードを修正し、アプリを更新するときに、「初心者がほぼ必ずつまずく落とし穴」があります。
落とし穴:「新しいデプロイ」を押してはいけない
コードを修正したあと、つい右上の「デプロイ」→「新しいデプロイ」を押したくなります。ですが、ここを押すと別のURLがもう一つ作られてしまいます。
子どもたちが見ているのは前のURLのままなので、「直したのに画面が変わらない」という状態になります。私自身も最初にここでつまずきました。
URLを変えずに更新する手順は、こちらです。
① コードを直す(AIに伝えて、出てきたコードを貼り替える)。
② 💾保存する。
③ 右上の「デプロイ」→「デプロイを管理」をクリックする。
④ 一覧に出ている行の、右上の ✏️(鉛筆)をクリックする。
⑤「バージョン」のプルダウンを開き、「新バージョン」を選ぶ。
⑥「デプロイ」をクリックする。
こうすれば、URLは変わりません。

子どもがブックマークしたアドレスのまま、中身だけが新しくなります。Classroomに貼り直す必要もありません。なお、②の保存だけでは子どもの画面は変わりません。
⑥まで進んで初めて反映されます。ここは私自身、何度も間違えたところです。
試すだけなら、デプロイもいりません
「直したけれど、子どもに見せる前に自分だけで確かめたい」というときは、もっと簡単な方法があります。
「デプロイ」→「デプロイをテスト」をクリックする。
出てくるURL(末尾が /dev)は、保存した最新のコードがそのまま動きます。デプロイの操作は一切いりません。直す、保存する、そのURLを再読み込みする。これだけで確認できます。
このURLは自分にしか開けないので、子どもに配るものではありません。「自分専用の試し場所」と考えてください。子どもに届けるときだけ、先ほどの「デプロイを管理」の手順を踏みます。
更新設定は、1枚のスプレッドシートでできます
ここが、このアプリのいちばん気楽なところかもしれません。普段の運用の中で変える必要があるほとんど全てのことは、コードを開かずに手直し作業を完了することができます。
まず、そのスプレッドシートはアプリから直接開けます。探しに行く必要はありません。先生タブのいちばん上に、ボタンが置いてあります。

開くと、下にシートのタブがいくつも並んでいます。数は多いのですが、先生が触るのは以下に示す7枚だけです。 残りはアプリが記録を書き込む場所です。
| シート | |
|---|---|
| 名簿 | 子どもを増やす、減らす。パスワードを確認する、決め直す |
| 設定 | コインの枚数、キャラクターの進化に必要なコイン |
| ステージ | ステージの名前と、ゴールまでの冊数 |
| アイテム | お店の品ぞろえ、値段、説明 |
| 月の賞 | 賞の名前、絵文字、賞状の文 |
| つなげる言葉 | 「学びをつなげた」と判定する言葉 |
| 先生 | 先生タブを見られる人のメールアドレス |
書きかえて保存すれば、その瞬間に反映されます。
デプロイ(公開)の操作はいりません。たとえば、こんな調整がその場でできます。
・「王かんが高すぎて誰も買えない」→ アイテムシートの40を25に打ち直す
・「10冊でも、うちの学級には多い」→ ステージシートのゴールを5に直す
・「活字の本をもっと評価したい」→ 設定シートの「活字が中心の本のコイン」を3から5に
・「賞の名前を学級の言葉にしたい」→ 月の賞シートの「たくさん読んだで賞」を書き換える
・「うちでは『◯◯の時間に』と言う」→ つなげる言葉シートにその言い方を足す
ふだんの運用で変えたくなることは、すべてスプレッドシートの中にあります。
プレゼント:スプレッドシートの配布と公開手順
※以下の有料パートをお読みいただけた方には、そのまま使えるこのアプリのテンプレート(スプレッドシート)をプレゼントします。
おわりに:子どもと一緒に教室のツールを育てる
今回このアプリを作ってみて実感したのは、プログラミング技術の高さよりも、「子どもたちの声をどれだけ丁寧に拾えるか」が大切だということでした。
学校のセキュリティ基準を満たしながら、子どもたちの願いを形にし、学級の読書文化を少しずつ耕していく。生成AIの力を借りれば、専門的なコードの知識がなくても、そうした仕組みづくりを先生自身の手で始めることができます。
まずは休み時間にでも、「どんな読書アプリがあったら毎日使いたい?」と、子どもたちに尋ねてみることから始めてみませんか。
大内 秀平(おおうち・しゅうへい)先生プロフィール
宮城県公立小学校教諭。1994年生まれ。文部科学省の在外教育施設派遣として、シンガポール日本人学校に3年間勤務。Google for Education 認定イノベーター。各教科や総合的な学習の時間において、ICTを活用した探究的な授業づくりに取り組んでいる。共著に紺野悟・大野睦仁編『どの教科でも通用する授業づくりのワザだけ集めました』(明治図書出版)、阿部隆幸編『学級経営DX 60のエピソードで示すデジタル活用の実践』(学事出版)などがある。
初めてのAI活用特集ほか、使える情報満載のムック、発売中です!

↓大反響!「生成AIフル活用シリーズ」、魅惑のラインアップはこちら!
⑤=AI活用 「個別コメント・システム」の作り方)
⑥「◯◯の資料どこ?」と聞くだけで、AIが秒で答えてくれる!
⑦学級開きで子どもたちの心を鷲づかみ!AI活用「オンリーワン絵本」の作り方
⑧ボタン一つで学年全員に予定表が届く!「自動予定共有システム」を実現しよう
⑨AIがスピーチの腕を磨いてくれる!Gem「自己紹介お師匠」と「自己紹介応援団長」





