প্রকল্প সম্পর্কে

«আল-কুরআন আল-কারীম» অ্যাপটি একটি ওপেন সোর্স আরবি প্রকল্প যা MIT লাইসেন্সের অধীনে পরিচালিত। এটি ওয়েব ব্রাউজার এবং অ্যান্ড্রয়েড ডিভাইসে কুরআন পাঠ, শ্রবণ, অনুসন্ধান এবং তাফসীর দেখার সুবিধা প্রদান করে। বর্তমান সংস্করণটি ৩.১.২০, যার APK ফাইলটি পরীক্ষার জন্য এবং ওয়েব সংস্করণটি GitHub Pages-এ প্রকাশিত। প্রকল্পটি আরবি, ইংরেজি, ফরাসি, জার্মান, রুশ, তুর্কি, মালয় এবং ইন্দোনেশিয়ানসহ আটটি ইন্টারফেস ভাষা সমর্থন করে এবং আরবি ভাষার জন্য RTL সাপোর্ট প্রদান করে। পঠন অংশে, অ্যাপটি AlQuran.cloud থেকে সংগৃহীত উসমানি খতে ১১৪টি সূরা প্রদর্শন করে। এতে সূরা নেভিগেশন, শেষ পঠিত স্থান সংরক্ষণ, বর্তমান আয়াত হাইলাইট, ১৫টি সাজদাহ চিহ্ন, ৩০টি পারার বিভাজন এবং স্ক্রলিং-এর সাথে যুক্ত প্রগ্রেস বার রয়েছে। ব্যবহারকারী ফন্টের আকার (১৬-৪৫ পিক্সেল), ফন্টের ধরন (Amiri, Scheherazade New, Reem Kufi) এবং লাইনের ব্যবধান নিয়ন্ত্রণ করতে পারেন। এতে কুরআনের অর্থের পাঁচটি অনুবাদ, রঙিন তজবীদ নিয়মের ১৮টি রুলস (ডে এবং নাইট মোডসহ), মুখস্থ করার জন্য টেক্সট লুকানোর মোড এবং একটি «হিফজ রুম» রয়েছে যেখানে প্রয়োজন অনুযায়ী আয়াত প্রকাশ করা যায়। এছাড়া কিং ফাহাদ গ্লোবাল প্রিন্টিং কমপ্লেক্সের অফিসিয়াল হাফস উসমানি ফন্ট ব্যবহারের সুযোগ রয়েছে। ৬০৪ পৃষ্ঠার অফলাইন মুসহাফ ডেটা SHA-256 ভেরিফিকেশনের মাধ্যমে ঐচ্ছিক হিসেবে ডাউনলোড করা যায়। শ্রবণ অংশে ৩০ জনেরও বেশি ক্বারীর তিলাওয়াত অন্তর্ভুক্ত। এটি দুটি অডিও উৎস ব্যবহার করে: API-এর মাধ্যমে প্রতিটি আয়াতের আলাদা শব্দ এবং mp3quran.net থেকে সম্পূর্ণ সূরার MP3 ফাইল। quran.com API-এর মাধ্যমে শব্দ-বাই-শব্দ হাইলাইটিং সুবিধা রয়েছে। এতে সূরার মধ্যে নিরবচ্ছিন্ন প্লেব্যাক, রিপিট মোড (বন্ধ, আয়াত, সূরা, নির্দিষ্ট রেঞ্জ), ১ থেকে ১৮০ মিনিটের স্লিপ টাইমার, গতি নিয়ন্ত্রণ এবং লক স্ক্রিনের জন্য MediaSession ইন্টিগ্রেশন রয়েছে। অফলাইন প্যাকেজটি IndexedDB-তে (২০০ মেগাবাইট সীমা এবং LRU ইভিকশনসহ) কুরআনের পাঠ্য, অনুবাদ, তজবীদ ডেটা, QCF4 ফন্ট এবং নির্বাচিত ক্বারীর অডিও সংরক্ষণ করতে পারে। অনুসন্ধান ইঞ্জিনটি ৬,২৩৬টি আয়াত কভার করে এবং হরকতসহ বা হরকতহীন টেক্সট ম্যাচ করতে পারে। এতে ফলাফল হাইলাইট, শব্দ প্রস্তাবনা, শেষ ১০টি অনুসন্ধানের ইতিহাস এবং Web Speech API-এর মাধ্যমে আরবি ভয়েস সার্চ সুবিধা রয়েছে। তাফসীর অংশে ছয়টি সংস্করণ (আল-মুয়াসসার, ইবনে কাসীর, তাবারী, সাআদী, বাগভী এবং কুরতুবী) রয়েছে যা স্থানীয় স্টোরেজ, IndexedDB এবং API-এর মাধ্যমে লোড হয়। «আয়াত নিয়ে চিন্তা» (Tadabbur) ফিচারে তিনটি চিন্তামূলক প্রশ্ন প্রদর্শিত হয়, যা ব্যক্তিগত চিন্তাভাবনার মাধ্যম হিসেবে কাজ করে, কোনো AI পরিষেবা বা অ্যাকাউন্টের প্রয়োজন হয় না। «মুসহাফ মোড» ক্যানভাসের মাধ্যমে ৬০৪ পৃষ্ঠায় QCF V4 ফন্ট এবং শব্দ-ভিত্তিক তজবীদ রঙ প্রদর্শন করে। «ডিসপ্লে মোড» ফুল-স্ক্রিন ভিউ প্রদান করে যেখানে সাধারণ ব্যাকগ্রাউন্ডের পাশাপাশি ক্যানভাস দৃশ্য (নক্ষত্র, ঢেউ, মেরুপ্রভা, বৃষ্টি) এবং স্থানীয় HD ভিডিও ব্যাকগ্রাউন্ডসহ মিশারি আল-আফাসির অডিও যুক্ত করা যায়। অ্যাপটিতে Aladhan-এর মাধ্যমে নামাজের সময়, আজান অ্যালার্ম, উম্মুল কুরা হিজরি ক্যালেন্ডার এবং কিবলা কম্পাস রয়েছে। এছাড়া সকাল-সন্ধ্যার জিকির, কাস্টম জিকির কাউন্টার, ফেভারিট এবং বুকমার্ক (টেক্সট বা JSON এক্সপোর্টসহ) এবং পড়ার পরিসংখ্যান রয়েছে। এতে চারটি ডিসপ্লে মোড (ডিপ নাইট মোডসহ) এবং Capacitor Share বা Web Share API-এর মাধ্যমে হোয়াটসঅ্যাপ ও টেলিগ্রামে শেয়ার করার সুবিধা রয়েছে। প্রযুক্তিগতভাবে, প্রকল্পটি TypeScript 6.0 (Strict Mode), Vite 8, LightningCSS এবং PWA-এর জন্য vite-plugin-pwa (Workbox) ব্যবহার করে। অ্যান্ড্রয়েড প্যাকেজের জন্য Capacitor 8 ব্যবহৃত হয়েছে। স্টেট ম্যানেজমেন্টের জন্য কোনো এক্সটারনাল ফ্রেমওয়ার্ক ছাড়াই Proxy-ভিত্তিক সিস্টেম এবং স্টোরেজের জন্য localStorage ও তিনটি IndexedDB (QuranAppDB, QuranAudioCacheDB, QuranTafsirDB) ব্যবহৃত হয়েছে। বাহ্যিক API হিসেবে AlQuran.cloud, Aladhan, jsDelivr, mp3quran.net এবং quran.com ব্যবহৃত হয়েছে। CI/CD পাইপলাইনে লিন্টিং, টাইপ চেকিং, ৮০% কভারেজসহ ইউনিট টেস্ট, Playwright-এর মাধ্যমে চারটি ব্রাউজারে E2E টেস্ট, CodeQL, OWASP ZAP, Lighthouse CI এবং axe-core (WCAG কমপ্লায়েন্স) অন্তর্ভুক্ত। রিপোজিটরি অনুযায়ী, এতে ৩,৮১২টি ইউনিট টেস্ট এবং ২৮৪টি UI টেস্ট কেস রয়েছে। স্থানীয় প্রোডাকশন বিল্ডে Lighthouse স্কোর পারফরম্যান্স ৯৩, অ্যাক্সেসিবিলিটি ১০০, বেস্ট প্র্যাকটিস ৯৬ এবং SEO ৯১। স্থানীয়ভাবে চালানোর জন্য Node.js ২২ বা তার পরবর্তী সংস্করণ প্রয়োজন। ব্যবহারকারীরা সরাসরি APK ফাইল ডাউনলোড করতে পারেন অথবা ডেভেলপমেন্ট কমান্ডের মাধ্যমে প্রজেক্টটি বিল্ড করতে পারেন। রিপোজিটরিটিতে একটি টেকনিক্যাল ইভ্যালুয়েশন গাইডও দেওয়া আছে যা অফলাইন কার্যকারিতা এবং সীমাবদ্ধতাগুলো ব্যাখ্যা করে।