技術仕様

フロントエンド

用途技術
ビルドツールVite
UI ライブラリReact(TypeScript)
スタイルSCSS (Sass)
状態管理カスタム React フック(画面遷移とクイズ状態を集中管理)

ネイティブアプリ

用途技術
アプリ化Capacitor(Android)
広告Google AdMob(バナー/インタースティシャル)
触覚フィードバックCapacitor Haptics

データ・外部サービス

用途技術
クイズデータ端末内に同梱した JSON(オフラインで出題)
学習履歴の保存ブラウザ/アプリの localStorage
地図タイルCARTO ラスタタイル
世界遺産などの画像外部提供元(UNESCO 等)
誤り報告フォームWeb3Forms

テスト・品質

用途技術
ユニットテストVitest
E2E テストPlaywright
静的解析ESLint(Flat Config)
型チェックTypeScript strict mode

インフラ・配信

用途技術
Web ホスティングVercel
Android 配信Google Play(App Bundle)

設計方針

クイズの生成・採点ロジックはドメイン層として切り出し、React はビュー層として 機能します。クイズデータは端末に同梱しているため、地図タイルや世界遺産画像の 表示を除き、ネットワーク接続なしで出題・回答が可能です。