المسلم: تطبيق لمواقيت الصلاة والقرآن والأذكار، يعمل دون إنترنت ومفتوح المصدر. Al-Muslim: prayer times, Quran and adhkar, offline and open source.
بقلم Zyad Mohamed (@fut0r) ·

ماذا يقدّم
مواقيت الصلاة تُحسب على جهازك بمكتبة adhan-js، ويتبع افتراضيًا طريقة الحساب المعتمدة في بلدك (17 طريقة، منها مصر وأم القرى والخليج والكويت وقطر والأردن والمغرب والجزائر وتونس وتركيا وكراتشي)، مع مذهب العصر (شافعي أو حنفي) وتعديلات البلد، مثل تأخير العشاء في رمضان وفق تقويم أم القرى. ويمكنك اختيار طريقتك بنفسك. ويتعامل مع خطوط العرض العالية والمناطق الزمنية والتوقيت الصيفي.
تنبيهات الأذان لكل صلاة، تُجدول على الجهاز نفسه، بصوت أذان مشاري راشد العفاسي أو بنغمة التنبيه العادية. وفيه تنبيه تجريبي للتأكد من وصولها، وشاشة تعرض ما جُدول وما قد يمنعه: إذن مرفوض، أو قناة تنبيهات صامتة، أو قيود البطارية.
الشاشة الرئيسية تعرض الصلاة القادمة مع عدّ تنازلي مباشر ومواقيت اليوم والتاريخين. ويوم الجمعة تظهر صلاة الظهر ويُنبَّه لها باسم «الجمعة».
القرآن: السور الـ114 كاملة بالرسم العثماني، وبحث في النص كله يفهم طريقة الكتابة المعتادة، وعلامات مرجعية، والانتقال إلى آية، وتكبير الخط. ويحسب التقدّم الآيات التي قرأتها فعلًا، سورةً سورة.
التلاوات مع متابعة النص آيةً آية، والبدء من أي آية، بأصوات عبد الباسط عبد الصمد ومحمود خليل الحصري ومحمد صديق المنشاوي وعبد الرحمن السديس وماهر المعيقلي وسعد الغامدي ومشاري العفاسي. وتستمر التلاوة عند الخروج من التطبيق أو قفل الشاشة، مع أزرار التحكم في شاشة القفل كأي مشغّل صوتيات.
الأذكار: الصباح والمساء والنوم وبعد الصلاة والأذكار العامة، لكل ذكر مصدره وعدّاده، مع حفظ التقدّم لليوم واهتزاز اختياري.
بوصلة القبلة باتجاه الدائرة العظمى والانحراف المغناطيسي. وفي أندرويد تقرأ المستشعرات مباشرة، وتنبّهك عند الحاجة إلى المعايرة، وتخبرك بوضوح إن لم يكن في الهاتف بوصلة بدل أن تعرض اتجاهًا مضلّلًا.
التقويم الهجري (أم القرى) بعرض شهري يجمع الهجري والميلادي، مع تعديل حسب رؤية الهلال المحلية.
ودجات أندرويد للصلاة القادمة مع عدّ تنازلي، ولمواقيت اليوم.
بالعربية والإنجليزية، مع ثيمات فاتحة وداكنة وسوداء تمامًا (AMOLED) وتبعًا للنظام.
الخصوصية
لا أدوات تحليل ولا تتبّع ولا إعلانات ولا حسابات ولا حزم SDK من أطراف أخرى، ولا خادم أصلًا.
الاتصال الوحيد بالإنترنت هو صوت التلاوة، يُبث من mp3quran.net حين تضغط تشغيل. وتمنع سياسة أمان المحتوى في التطبيق أي اتصال آخر.
الموقع اختياري ويبقى على جهازك، ويمكنك اختيار مدينتك من قائمة بدلًا منه. ويُطابَق موقع GPS مع أقرب مدينة من قائمة مضمّنة في التطبيق، ولا يُرسل إلى أي خدمة.
العلامات المرجعية والتقدّم والإعدادات تبقى على الجهاز، ويوقف تطبيق أندرويد نسخها الاحتياطي إلى السحابة.
من الداخل
React 19 وTypeScript وVite وMUI، مع adhan-js للحسابات، وCapacitor لأندرويد مع بضعة أصناف Java صغيرة للمنبّهات وتشغيل الصوت في الخلفية والودجات والبوصلة، وWorkbox للعمل دون إنترنت، وVitest للاختبارات. والحالة محفوظة في مخازن صغيرة مبنية على useSyncExternalStore دون أي مكتبة لإدارة الحالة، ومنطق حساب المواقيت مكتوب بـ TypeScript خالص بلا واجهة ولا واجهات متصفح، وتغطيه اختبارات الوحدة.
نص القرآن هو الرسم العثماني من مشروع تنزيل (Tanzil)، مستخدم كما نُشر تمامًا ومتحقَّق منه ببصمة للنص كله. وتوقيتات الآيات في التلاوات من mp3quran.net، وقد رُوجعت كل سورة مع صوتها.
جرّبه
الكود وملف APK لأندرويد وطريقة البناء على GitHub: github.com/fut0r/al-muslim
What it does
Prayer times calculated on your phone with adhan-js. By default it follows your country's convention (17 methods, among them Egypt, Umm al-Qura, the Gulf, Kuwait, Qatar, Jordan, Morocco, Algeria, Tunisia, Turkey and Karachi), with its Asr rule (Shafi'i or Hanafi) and its adjustments, such as the later Isha of the Umm al-Qura calendar in Ramadan. You can choose your own. High latitudes, time zones and daylight saving time are handled.
Adhan notifications for each prayer, scheduled on the device, with Mishary Rashid Alafasy's adhan or the normal notification sound. A test notification checks they arrive, and a status screen shows what is scheduled and anything in the way: a refused permission, a muted channel, battery restrictions.
Home shows the next prayer with a live countdown, today's times and both dates. On Fridays the midday prayer shows, and is announced, as Jumu'ah.
Quran: all 114 surahs in Uthmani script, full-text search that understands everyday Arabic spelling, bookmarks, go to ayah and adjustable text size. Progress counts the ayahs you have actually read, surah by surah.
Recitations with the text following along ayah by ayah, starting from any ayah, by Abdul Basit Abdus-Samad, Mahmoud Khalil Al-Husary, Muhammad Siddiq Al-Minshawi, Abdur-Rahman As-Sudais, Maher Al-Muaiqly, Saad Al-Ghamdi or Mishary Rashid Alafasy. It keeps playing when you leave the app or lock the screen, with lock-screen controls like a music player.
Adhkar for the morning, evening, sleep, after prayer and general remembrance, each with its source, a counter, progress saved for the day and optional haptic feedback.
Qiblah compass with a great-circle bearing and magnetic declination. On Android it reads the sensors itself, warns when it needs calibrating, and says plainly when the phone has no compass instead of showing a misleading one.
Hijri calendar (Umm al-Qura) with a Hijri and Gregorian month view and an adjustment for the local moon sighting.
Android widgets for the next prayer with a countdown, and for today's times.
Arabic and English, and light, dark, AMOLED and system themes.
Privacy
No analytics, trackers, ads, accounts or third-party SDKs, and no server at all.
The only network request is the recitation audio, streamed from mp3quran.net when you press play. The app's content security policy allows nothing else.
Location is optional and stays on the device; you can pick a city instead. A GPS position is matched to the nearest city from a bundled list and never sent to a geocoding service.
Bookmarks, progress and settings stay on the device, and the Android app turns off cloud backup for them.
Under the hood
React 19, TypeScript, Vite and MUI, with adhan-js for the calculations, Capacitor for Android plus a few small Java classes for alarms, background audio, widgets and the compass, Workbox for offline support and Vitest for tests. State lives in small stores built on useSyncExternalStore, with no state library, and the prayer-time logic is plain TypeScript with no UI or browser code, covered by unit tests.
The Quran text is the Uthmani text of the Tanzil Project, used exactly as published and checked against a checksum of the whole text. The ayah timings for the recitations come from mp3quran.net, and every surah was checked against its audio.
Try it
The code, the Android APK and the build instructions are on GitHub: github.com/fut0r/al-muslim