このプロジェクトについて
「聖クルアーン」アプリは、MITライセンスのオープンソース・アラブプロジェクトであり、クルアーンの閲覧、聴取、検索、および解釈の参照を可能にします。WebブラウザおよびAndroidデバイスで動作し、現在のリポジトリバージョンは3.1.20です。テスト用にDebug署名付きのAPKファイルが配布され、Web版はGitHub Pagesで公開されています。インターフェースはアラビア語、英語、フランス語、ドイツ語、ロシア語、トルコ語、マレー語、インドネシア語の8言語をサポートし、アラビア語向けにRTL(右から左)方向に対応しています。
閲覧機能では、AlQuran.cloud提供のウスマヌ体で114のスーラを表示し、スーラ間の移動、最終閲覧位置の保存、現在地のハイライト、15箇所のサジダ(礼拝箇所)、30のジュズ区切り、スクロール連動の進捗バーを備えています。フォントサイズ(16–45px)、フォント種類(Amiri, Scheherazade New, Reem Kufi)、行間を調整でき、5つの意味翻訳と、昼夜モード対応の18のタジュウィード(朗読規則)色分けを搭載しています。また、暗記トレーニング用の非表示モードや、リクエストに応じて節を表示する「暗記ルーム(カーテン機能)」、速度・範囲指定可能なプレイヤーを備えています。キング・ファハド聖クルアーン印刷複合体による公式ウスマヌ体フォント(ハフス版)をスーラモードに適用でき、ページモードはQCF4を維持します。604ページのオフラインデータは、SHA-256ハッシュ確認後にオプションでダウンロード可能です。
聴取機能では、30名以上の朗読者をサポートし、API経由の節単位音声とmp3quran.netのスーラ単位MP3ファイルの2つのソースを利用します。quran.comのAPIにより単語ごとのハイライト表示が可能です。スーラ間の連続再生、リピートモード(停止、節、スーラ、カスタム範囲)、1〜180分のスリープタイマー、速度制御、ロック画面操作用のMediaSession統合、自動再試行、Canvasによるオーディオビジュアライザー、節番号からの再生、完読通知を備えています。オフラインパッケージでは、テキスト、翻訳、タジュウィードデータ、QCF4フォント、選択した朗読者の音声をIndexedDB(上限200MB、LRU方式)に保存でき、ストレージ統計の確認や選択的・全削除が可能です。
検索機能は6,236節をカバーし、母音記号の有無に関わらず一致検索を行い、結果のハイライト、前方一致提案、直近10件の履歴、Web Speech APIによるアラビア語音声検索、画面上のアラビア語キーボード、ページネーション付き結果表示を提供します。解釈(タフスィール)は6種類(Al-Muyassar, Ibn Kathir, Al-Tabari, Al-Saadi, Al-Baghawi, Al-Qurtubi)を搭載し、ローカル、IndexedDB、APIの順で段階的に読み込み、QuranTafsirDBにキャッシュします。「節への瞑想」機能では、AIへの送信やアカウント登録なしに3つの省察的な問いを表示し、オフラインで動作します。これは個人の省察手段であり、公認の解釈ではない旨の警告が表示されます。
「ムスハフモード」では、Canvas上にQCF V4フォントを用いて604ページを表示し、単語ごとのタジュウィード色分け、タップによる再生・解釈表示、隣接ページのプリロードを実現しています。「表示モード」では、単色、自然風景、気分や時間に応じた背景、Canvasシーン(星、波、オーロラ、粒子、雨)によるフルスクリーン表示が可能です。また、節に合わせたワイド画像やローカルのHDビデオを背景に設定し、Mishary Al-Afasyの音声を流すことができ、処理はユーザーデバイス上で行われます。その他の機能として、Aladhanによる礼拝時間(6つの時間、アザーン通知、ウム・アル・クラー暦によるヒジュラ暦、キブラコンパス)、朝夕およびカスタムのジクル(カウンター、通知、日次リセット付き)、お気に入り・ブックマーク(テキストまたはJSON書き出し)、読書統計、4つの表示テーマ(ディープナイトモード含む)、Capacitor ShareまたはWeb Share APIによる共有(WhatsApp, Telegram)、キーボードショートカット、アクセシビリティ設定(フォーカストラップ、ARIAライブリージョン、コンテンツスキップリンク、動作削減・高コントラスト対応)を備えています。
技術的には、TypeScript 6.0(Strictモード)、Vite 8、LightningCSS、PWA用のvite-plugin-pwa (Workbox)、Androidパッケージ用のCapacitor 8を採用しています。状態管理は外部フレームワークを使わずProxyベースで構築し、localStorageおよび3つのIndexedDB(QuranAppDB, QuranAudioCacheDB, QuranTafsirDB)で保存します。外部APIとしてAlQuran.cloud, Aladhan, jsDelivr(解釈), mp3quran.net, quran.comを利用しています。CI/CDパイプラインには、Lint、型チェック、カバレッジ80%以上のユニットテスト、4つのプロジェクト(chromium, firefox, webkit, mobile-chrome)でのPlaywright E2Eテスト、CodeQL、OWASP ZAP基本スキャン、Lighthouse CI、WCAG違反なしのaxe-coreスキャン、バンドルサイズ監視、TypeDoc生成、npm audit、ライセンスチェック、タグ発行時の自動デプロイが含まれます。
リポジトリによると、3,812のユニットテストと284のUIテストケースが含まれており、ローカルのプロダクションビルドにおけるLighthouseスコアは、パフォーマンス93、アクセシビリティ100、ベストプラクティス96、SEO 91でした(これは内部評価であり、外部認証ではありません)。ローカル実行にはNode.js 22以降が必要で、npm install後、開発(ポート3000)、ビルド、プレビュー、ユニットテスト、E2Eテスト、コードチェック、Androidビルドのコマンドが提供されています。一般ユーザーはビルド不要でAPKファイルを直接ダウンロードできます。また、リポジトリには、検証可能な項目、オフライン動作、既知の制限事項をまとめた技術評価ガイドが同梱されています。
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.