はじめに
現在、Oracle Java Silver 試験の対策として問題集を使った学習を行っています。
その過程で、
- 問題を解く
- ノートに回答を書く
- 解答を確認し、正解数や正解率を計算する
という一連の流れに、徐々に手間を感じるようになりました。
特に私自身は、ペンを持ってノートに書く作業にストレスを感じやすく、
できるだけ PC やタブレット上で完結する学習方法を取りたいと考えています。
このような背景から、
- 答え合わせと集計を簡単にしたい
- セクションごとの理解度を数値で把握したい
- 紙やノートを使わずに学習を完結させたい
という目的で、自己採点用の Web ツールを作成しました。
作成したツール
答え合わせ(AnswerCheck)
学習・試験対策向けの、自己採点・集計用 Web サービスです。
デモページ
https://notegridx.github.io/answer-check/
インストールやアカウント登録は不要で、
ブラウザだけで利用できます。
主な機能
- セクション単位で問題を整理
- 各問題に対して以下を入力可能
- 回答
- 正解
- メモ
- 正解 / 不正解 / 未採点 / 未回答 を自動判定・集計
- 全体およびセクション単位の正解率を表示
- 入力内容は自動保存
問題を解きながら入力するだけで、
集計や計算を意識せずに学習を進められる構成としています。
想定している用途
開発のきっかけは Oracle Java Silver 試験対策ですが、
用途はそれに限定していません。
- 各種資格試験の自己採点
- 問題集を使った試験勉強全般
- セクション(分野)ごとの理解度確認
- 紙やノートを使わない学習スタイルの補助
「問題を解く」「答え合わせをする」「進捗を把握する」
という作業が発生する学習全般で使えることを想定しています。
技術構成
本ツールは フロントエンドのみで構成されています。
- HTML / CSS / JavaScript
- Bootstrap 5(CDN)
- データ保存:localStorage
- サーバ通信・API・データベースなし
設計方針について
個人学習用途であることから、以下を重視しました。
- ユーザー管理や認証を行わない
- 入力データを外部に送信しない
- GitHub Pages でそのまま公開できる構成とする
これらの要件を満たす手段として、
データ保存には localStorage を採用しています。
localStorage の利用方法
- セクションと問題を入れ子構造のオブジェクトとして管理
- 状態全体を JSON として localStorage に保存
- 入力変更のたびに自動保存
- ページ再読み込み時に状態を復元
これにより、
- 学習途中で中断しても再開できる
- 明示的な保存操作を意識する必要がない
といった挙動を実現しています。
集計ロジックについて
- 問題ごとに状態(正解/不正解/未採点/未回答)を判定
- 正解率は「正解数 ÷ 回答済み問題数」で算出
- セクション単位と全体集計を同時に表示
試験勉強では、
「どこが弱いか」を把握することが重要なため、
分野ごとの数値が分かる点を重視しました。
データ保存に関する注意点
- 入力データは サーバには送信されません
- データは 利用中のブラウザの localStorage に保存されます
- 以下の場合、データは引き継がれません
- 別のブラウザを使用した場合
- 別の端末を使用した場合
- ブラウザのデータを削除した場合
個人情報や機密情報の入力は避けてください。
おわりに
試験勉強における「答え合わせと集計」の負担を軽減し、
PC やタブレット上で完結する学習を行うために、
必要最小限の機能に絞って作成しました。
改善点や要望があれば、
コメントや GitHub Issues でフィードバックいただけると助かります。
GitHub リポジトリ
https://github.com/notegridx/answer-check
